diff --git a/plio/__init__.py b/plio/__init__.py index 3e4efb6ce20e714db61902d878bc680fb51b0b27..34ae0a40792be57241bcdbeb3eb6e0c59a715aa2 100755 --- a/plio/__init__.py +++ b/plio/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.1.1" +__version__ = "0.1.2" # Submodule imports from . import io diff --git a/plio/examples/ControlNetworks/apollo_out.net b/plio/examples/ControlNetworks/apollo_out.net new file mode 100644 index 0000000000000000000000000000000000000000..3ecfc3359902feab8df3751bdde402de63c1bb54 Binary files /dev/null and b/plio/examples/ControlNetworks/apollo_out.net differ diff --git a/plio/examples/SocetSet/ellipsoid.ell b/plio/examples/SocetSet/ellipsoid.ell new file mode 100644 index 0000000000000000000000000000000000000000..4126e3834333aedd2fed0959e98fade5c3d19135 --- /dev/null +++ b/plio/examples/SocetSet/ellipsoid.ell @@ -0,0 +1,2 @@ +SEMI_MAJOR_AXIS 3.39619000000000e+006 +ECCENTRICITY 1.08339143554195e-001 \ No newline at end of file diff --git a/plio/examples/SocetSet/socet_isd.lis b/plio/examples/SocetSet/socet_isd.lis new file mode 100644 index 0000000000000000000000000000000000000000..608cc1ca489ea7829ce74e1539b84a1f555217f6 --- /dev/null +++ b/plio/examples/SocetSet/socet_isd.lis @@ -0,0 +1,940 @@ +RECTIFICATION_TERMS + 9.21600000000000e+03 0.00000000000000e+00 1.00000000000000e+00 + 2.50000000000000e+03 1.00000000000000e+00 0.00000000000000e+00 +GROUND_ZERO 3.24985706836655e-01 1.35170258031137e+00 0.00000000000000e+00 +LOAD_PT 3.24985706836655e-01 1.35170258031137e+00 0.00000000000000e+00 +COORD_SYSTEM 1 +IMAGE_MOTION 0 +SENSOR_TYPE USGSAstroLineScanner +SENSOR_MODE UNKNOWN +SEMI_MAJOR_AXIS 3.39619000000000e+006 +ECCENTRICITY 1.08339143554195e-001 +FOCAL 3.52927166400000e+02 +ATMCO 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 +IOCOEF_LINE 9.21600000000000e+03 1.40950377625976e+02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 +IOCOEF_SAMPLE 2.50000000000000e+03 0.00000000000000e+00 1.42857142857143e+02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 +ABERR 0 +ATMREF 0 +PLATFORM 1 +SOURCE_FLAG 1 +SINGLE_EPHEMERIDE 0 +TRI_PARAMETERS +0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.52927166400000e+02 0.00000000000000e+00 0.00000000000000e+00 +T_CENTER 0.0000000000000000000000000e+00 +DT_EPHEM 1.6396618009478672317591474e-01 +T0_EPHEM -1.8856110692024230957031250e+01 +NUMBER_OF_EPHEM 231 +EPHEM_PTS + 8.5243851370107755064964294e+05 3.4006626093691978603601456e+06 1.0886122571664815768599510e+06 + 8.5246579847096302546560764e+05 3.4004881943365833722054958e+06 1.0891470385381437372416258e+06 + 8.5249308324084850028157234e+05 3.4003137793039688840508461e+06 1.0896818199098058976233006e+06 + 8.5252036801073397509753704e+05 3.4001393642713543958961964e+06 1.0902166012814680580049753e+06 + 8.5254765278061944991350174e+05 3.3999649492387399077415466e+06 1.0907513826531302183866501e+06 + 8.5257493755050492472946644e+05 3.3997905342061254195868969e+06 1.0912861640247923787683249e+06 + 8.5260222232039039954543114e+05 3.3996161191735109314322472e+06 1.0918209453964545391499996e+06 + 8.5262950709027587436139584e+05 3.3994417041408964432775974e+06 1.0923557267681166995316744e+06 + 8.5265679186016134917736053e+05 3.3992672891082819551229477e+06 1.0928905081397788599133492e+06 + 8.5268407663004682399332523e+05 3.3990928740756674669682980e+06 1.0934252895114410202950239e+06 + 8.5271136139993229880928993e+05 3.3989184590430529788136482e+06 1.0939600708831031806766987e+06 + 8.5273864616981777362525463e+05 3.3987440440104384906589985e+06 1.0944948522547653410583735e+06 + 8.5276590712277148850262165e+05 3.3985695495615485124289989e+06 1.0950296079771930817514658e+06 + 8.5279314425639319233596325e+05 3.3983949757014387287199497e+06 1.0955643380379620939493179e+06 + 8.5282035756828065495938063e+05 3.3982203224351610988378525e+06 1.0960990424246429465711117e+06 + 8.5284754705603234469890594e+05 3.3980455897677666507661343e+06 1.0966337211248115636408329e+06 + 8.5287471271724672988057137e+05 3.3978707777043129317462444e+06 1.0971683741260427050292492e+06 + 8.5290185454952321015298367e+05 3.3976958862498472444713116e+06 1.0977030014159071724861860e+06 + 8.5292897255046060308814049e+05 3.3975209154094271361827850e+06 1.0982376029819811228662729e+06 + 8.5295606671765749342739582e+05 3.3973458651881017722189426e+06 1.0987721788118372205644846e+06 + 8.5298313704871572554111481e+05 3.3971707355909273028373718e+06 1.0993067288930502254515886e+06 + 8.5301018354123202152550220e+05 3.3969955266229547560214996e+06 1.0998412532131930347532034e+06 + 8.5303720619280834216624498e+05 3.3968202382892388850450516e+06 1.1003757517598392441868782e+06 + 8.5306420500104420352727175e+05 3.3966448705948316492140293e+06 1.1009102245205633807927370e+06 + 8.5309117996354063507169485e+05 3.3964694235447864048182964e+06 1.1014446714829378761351109e+06 + 8.5311813107789773494005203e+05 3.3962938971441579051315784e+06 1.1019790926345381885766983e+06 + 8.5314505834171606693416834e+05 3.3961182913979971781373024e+06 1.1025134879629372153431177e+06 + 8.5317196175259735900908709e+05 3.3959426063113594427704811e+06 1.1030478574557085521519184e+06 + 8.5319884130814287345856428e+05 3.3957668418892980553209782e+06 1.1035822011004250962287188e+06 + 8.5322569700595363974571228e+05 3.3955909981368649750947952e+06 1.1041165188846632372587919e+06 + 8.5325252884363150224089622e+05 3.3954150750591154210269451e+06 1.1046508107959947083145380e+06 + 8.5327933681877900380641222e+05 3.3952390726611018180847168e+06 1.1051850768219933379441500e+06 + 8.5330612092899729032069445e+05 3.3950629909478775225579739e+06 1.1057193169502338860183954e+06 + 8.5333288117188948672264814e+05 3.3948868299244982190430164e+06 1.1062535311682885512709618e+06 + 8.5335961754505732096731663e+05 3.3947105895960149355232716e+06 1.1067877194637327920645475e+06 + 8.5338633004610484931617975e+05 3.3945342699674842879176140e+06 1.1073218818241397384554148e+06 + 8.5341301867263449821621180e+05 3.3943578710439577698707581e+06 1.1078560182370829861611128e+06 + 8.5343968342224939260631800e+05 3.3941813928304901346564293e+06 1.1083901286901354324072599e+06 + 8.5346632429255265742540359e+05 3.3940048353321352042257786e+06 1.1089242131708725355565548e+06 + 8.5349294128114846535027027e+05 3.3938281985539472661912441e+06 1.1094582716668664943426847e+06 + 8.5351953438564040698111057e+05 3.3936514825009796768426895e+06 1.1099923041656925342977047e+06 + 8.5354610360363277141004801e+05 3.3934746871782862581312656e+06 1.1105263106549228541553020e+06 + 8.5357264893272996414452791e+05 3.3932978125909231603145599e+06 1.1110602911221329122781754e+06 + 8.5359917037053662352263927e+05 3.3931208587439423426985741e+06 1.1115942455548951402306557e+06 + 8.5362566791465727146714926e+05 3.3929438256423990242183208e+06 1.1121281739407840650528669e+06 + 8.5365214156269619707018137e+05 3.3927667132913456298410892e+06 1.1126620762673728168010712e+06 + 8.5367859131225943565368652e+05 3.3925895216958387754857540e+06 1.1131959525222354568541050e+06 + 8.5370501716095267329365015e+05 3.3924122508609327487647533e+06 1.1137298026929458137601614e+06 + 8.5373141910638089757412672e+05 3.3922349007916799746453762e+06 1.1142636267670781817287207e+06 + 8.5375779714615002740174532e+05 3.3920574714931366033852100e+06 1.1147974247322049923241138e+06 + 8.5378415127786656375974417e+05 3.3918799629703573882579803e+06 1.1153311965759007725864649e+06 + 8.5381048149913595989346504e+05 3.3917023752283933572471142e+06 1.1158649422857386525720358e+06 + 8.5383678780756529886275530e+05 3.3915247082723034545779228e+06 1.1163986618492940906435251e+06 + 8.5386307020076096523553133e+05 3.3913469621071410365402699e+06 1.1169323552541390527039766e+06 + 8.5388932867632980924099684e+05 3.3911691367379589937627316e+06 1.1174660224878480657935143e+06 + 8.5391556323187996167689562e+05 3.3909912321698148734867573e+06 1.1179996635379951912909746e+06 + 8.5394177386501722503453493e+05 3.3908132484077606350183487e+06 1.1185332783921535592526197e+06 + 8.5396796057335054501891136e+05 3.3906351854568524286150932e+06 1.1190668670378967653959990e+06 + 8.5399412335448642261326313e+05 3.3904570433221440762281418e+06 1.1196004294627988710999489e+06 + 8.5402026220603403635323048e+05 3.3902788220086931250989437e+06 1.1201339656544341705739498e+06 + 8.5404637712560105137526989e+05 3.3901005215215529315173626e+06 1.1206674756003755610436201e+06 + 8.5407246811079583130776882e+05 3.3899221418657773174345493e+06 1.1212009592881978023797274e+06 + 8.5409853515922743827104568e+05 3.3897436830464228987693787e+06 1.1217344167054735589772463e+06 + 8.5412457826851261779665947e+05 3.3895651450685025192797184e+06 1.1222678478398087900131941e+06 + 8.5415059743632096797227859e+05 3.3893865279369666241109371e+06 1.1228012526789130643010139e+06 + 8.5417659266033908352255821e+05 3.3892078316568541340529919e+06 1.1233346312104666139930487e+06 + 8.5420256393825553823262453e+05 3.3890290562332100234925747e+06 1.1238679834221496712416410e+06 + 8.5422851126775646116584539e+05 3.3888502016710792668163776e+06 1.1244013093016396742314100e+06 + 8.5425443464653065893799067e+05 3.3886712679755045101046562e+06 1.1249346088366170879453421e+06 + 8.5428033407226612325757742e+05 3.3884922551515335217118263e+06 1.1254678820147607475519180e+06 + 8.5430620954265049658715725e+05 3.3883131632042089477181435e+06 1.1260011288237485568970442e+06 + 8.5433206105537235271185637e+05 3.3881339921385762281715870e+06 1.1265343492512619122862816e+06 + 8.5435788860812049824744463e+05 3.3879547419596803374588490e+06 1.1270675432849773205816746e+06 + 8.5438369219858373980969191e+05 3.3877754126725667156279087e+06 1.1276007109125752467662096e+06 + 8.5440947182445030193775892e+05 3.3875960042822780087590218e+06 1.1281338521217345260083675e+06 + 8.5443522748341085389256477e+05 3.3874165167938619852066040e+06 1.1286669669001337606459856e+06 + 8.5446095917315443512052298e+05 3.3872369502123622223734856e+06 1.1292000552354527171701193e+06 + 8.5448666689137043431401253e+05 3.3870573045428236946463585e+06 1.1297331171153697650879622e+06 + 8.5451235063574824016541243e+05 3.3868775797902927733957767e+06 1.1302661525275653693825006e+06 + 8.5453801040397980250418186e+05 3.3866977759598130360245705e+06 1.1307991614597162697464228e+06 + 8.5456364619375404436141253e+05 3.3865178930564313195645809e+06 1.1313321438995033968240023e+06 + 8.5458925800276163499802351e+05 3.3863379310851907357573509e+06 1.1318650998346051201224327e+06 + 8.5461484582869370933622122e+05 3.3861578900511385872960091e+06 1.1323980292527007404714823e+06 + 8.5464040966924023814499378e+05 3.3859777699593193829059601e+06 1.1329309321414683945477009e+06 + 8.5466594952209421899169683e+05 3.3857975708147785626351833e+06 1.1334638084885894786566496e+06 + 8.5469146538494678679853678e+05 3.3856172926225615665316582e+06 1.1339966582817404996603727e+06 + 8.5471695725548814516514540e+05 3.3854369353877143003046513e+06 1.1345294815086012240499258e+06 + 8.5474242513141187373548746e+05 3.3852564991152812726795673e+06 1.1350622781568518839776516e+06 + 8.5476786901040852535516024e+05 3.3850759838103083893656731e+06 1.1355950482141696847975254e+06 + 8.5479328889017144683748484e+05 3.3848953894778424873948097e+06 1.1361277916682353243231773e+06 + 8.5481868476839282084256411e+05 3.3847147161229276098310947e+06 1.1366605085067271720618010e+06 + 8.5484405664276552852243185e+05 3.3845339637506105937063694e+06 1.1371931987173233646899462e+06 + 8.5486940451098256744444370e+05 3.3843531323659354820847511e+06 1.1377258622877048328518867e+06 + 8.5489472837073635309934616e+05 3.3841722219739500433206558e+06 1.1382584992055497132241726e+06 + 8.5492002821972081437706947e+05 3.3839912325796983204782009e+06 1.1387911094585366081446409e+06 + 8.5494530405563034582883120e+05 3.3838101641882285475730896e+06 1.1393236930343462154269218e+06 + 8.5497055587615817785263062e+05 3.3836290168045833706855774e+06 1.1398562499206545762717724e+06 + 8.5499578367899765726178885e+05 3.3834477904338128864765167e+06 1.1403887801051435526460409e+06 + 8.5502098746184376068413258e+05 3.3832664850809588097035885e+06 1.1409212835754919797182083e+06 + 8.5504616722239123191684484e+05 3.3830851007510693743824959e+06 1.1414537603193763643503189e+06 + 8.5507132295833330135792494e+05 3.3829036374491904862225056e+06 1.1419862103244785685092211e+06 + 8.5509645466736645903438330e+05 3.3827220951803685165941715e+06 1.1425186335784771945327520e+06 + 8.5512156234718556515872478e+05 3.3825404739496493712067604e+06 1.1430510300690492149442434e+06 + 8.5514664599548513069748878e+05 3.3823587737620784901082516e+06 1.1435833997838762588799000e+06 + 8.5517170560996118001639843e+05 3.3821769946227022446691990e+06 1.1441157427106369286775589e+06 + 8.5519674118830997031182051e+05 3.3819951365365688689053059e+06 1.1446480588370088953524828e+06 + 8.5522175272822636179625988e+05 3.3818131995087224058806896e+06 1.1451803481506721582263708e+06 + 8.5524674022740765940397978e+05 3.3816311835442096926271915e+06 1.1457126106393057852983475e+06 + 8.5527170368355012033134699e+05 3.3814490886480784974992275e+06 1.1462448462905876804143190e+06 + 8.5529664309434930328279734e+05 3.3812669148253737948834896e+06 1.1467770550921997055411339e+06 + 8.5532155845750356093049049e+05 3.3810846620811428874731064e+06 1.1473092370318179018795490e+06 + 8.5534644977070903405547142e+05 3.3809023304204330779612064e+06 1.1478413920971229672431946e+06 + 8.5537131703166279476135969e+05 3.3807199198482884094119072e+06 1.1483735202757932711392641e+06 + 8.5539616023806342855095863e+05 3.3805374303697580471634865e+06 1.1489056215555085800588131e+06 + 8.5542097938760765828192234e+05 3.3803548619898864999413490e+06 1.1494376959239465650171041e+06 + 8.5544577447799290530383587e+05 3.3801722147137229330837727e+06 1.1499697433687883894890547e+06 + 8.5547054550726898014545441e+05 3.3799894885461935773491859e+06 1.1505017638776311650872231e+06 + 8.5549529247341456357389688e+05 3.3798066834924048744142056e+06 1.1510337574380415026098490e+06 + 8.5552001537401438690721989e+05 3.3796237995576718822121620e+06 1.1515657240376526024192572e+06 + 8.5554471420665283221751451e+05 3.3794408367473124526441097e+06 1.1520976636640953365713358e+06 + 8.5556938896891579497605562e+05 3.3792577950666425749659538e+06 1.1526295763050029054284096e+06 + 8.5559403965838847216218710e+05 3.3790746745209796354174614e+06 1.1531614619480073451995850e+06 + 8.5561866627265652641654015e+05 3.3788914751156410202383995e+06 1.1536933205807411577552557e+06 + 8.5564326880930515471845865e+05 3.3787081968559413217008114e+06 1.1542251521908373106271029e+06 + 8.5566784726592001970857382e+05 3.3785248397471997886896133e+06 1.1547569567659273743629456e+06 + 8.5569240164008794818073511e+05 3.3783414037947319447994232e+06 1.1552887342936429195106030e+06 + 8.5571693192939530126750469e+05 3.3781578890038556419312954e+06 1.1558204847616183105856180e+06 + 8.5574143813142855651676655e+05 3.3779742953798887319862843e+06 1.1563522081574841868132353e+06 + 8.5576592024377407506108284e+05 3.3777906229281472042202950e+06 1.1568839044688744470477104e+06 + 8.5579037826401938218623400e+05 3.3776068716539470478892326e+06 1.1574155736834192648530006e+06 + 8.5581481218975188676267862e+05 3.3774230415626084432005882e+06 1.1579472157887530047446489e+06 + 8.5583922201855888124555349e+05 3.3772391326594469137489796e+06 1.1584788307725074701011181e+06 + 8.5586360774802835658192635e+05 3.3770551449497798457741737e+06 1.1590104186223142314702272e+06 + 8.5588796937574853654950857e+05 3.3768710784389250911772251e+06 1.1595419793258064892143011e+06 + 8.5591230689930717926472425e+05 3.3766869331321995705366135e+06 1.1600735128706160467118025e+06 + 8.5593662031629285775125027e+05 3.3765027090349206700921059e+06 1.1606050192443758714944124e+06 + 8.5596090962429461069405079e+05 3.3763184061524071730673313e+06 1.1611364984347182326018810e+06 + 8.5598517482090077828615904e+05 3.3761340244899746030569077e+06 1.1616679504292751662433147e+06 + 8.5600941590370074845850468e+05 3.3759495640529422089457512e+06 1.1621993752156782429665327e+06 + 8.5603363287028414197266102e+05 3.3757650248466269113123417e+06 1.1627307727815608959645033e+06 + 8.5605782571823999751359224e+05 3.3755804068763474933803082e+06 1.1632621431145563255995512e+06 + 8.5608199444515921641141176e+05 3.3753957101474199444055557e+06 1.1637934862022942397743464e+06 + 8.5610613904913549777120352e+05 3.3752109346643211320042610e+06 1.1643248020328027196228504e+06 + 8.5613025952970853541046381e+05 3.3750260804291758686304092e+06 1.1648560905952053144574165e+06 + 8.5615435588468040805310011e+05 3.3748411474470659159123898e+06 1.1653873518772311508655548e+06 + 8.5617842811166204046458006e+05 3.3746561357233929447829723e+06 1.1659185858664640691131353e+06 + 8.5620247620826668571680784e+05 3.3744710452635586261749268e+06 1.1664497925504848826676607e+06 + 8.5622650017210619989782572e+05 3.3742858760729650966823101e+06 1.1669809719168748706579208e+06 + 8.5625050000079302117228508e+05 3.3741006281570158898830414e+06 1.1675121239532181061804295e+06 + 8.5627447569194075185805559e+05 3.3739153015211112797260284e+06 1.1680432486470937728881836e+06 + 8.5629842724316183011978865e+05 3.3737298961706552654504776e+06 1.1685743459860845468938351e+06 + 8.5632235465206881053745747e+05 3.3735444121110476553440094e+06 1.1691054159577731043100357e+06 + 8.5634625791627704165875912e+05 3.3733588493476929143071175e+06 1.1696364585497407242655754e+06 + 8.5637013703339896164834499e+05 3.3731732078859931789338589e+06 1.1701674737495686858892441e+06 + 8.5639399200104828923940659e+05 3.3729874877313496544957161e+06 1.1706984615448403637856245e+06 + 8.5641782281684048939496279e+05 3.3728016888891658745706081e+06 1.1712294219231354072690010e+06 + 8.5644162947838916443288326e+05 3.3726158113648444414138794e+06 1.1717603548720369581133127e+06 + 8.5646541198330908082425594e+05 3.3724298551637879572808743e+06 1.1722912603791260626167059e+06 + 8.5648917032921442296355963e+05 3.3722438202913971617817879e+06 1.1728221384319865610450506e+06 + 8.5651290451372251845896244e+05 3.3720577067530774511396885e+06 1.1733529890181971713900566e+06 + 8.5653661453444696962833405e+05 3.3718715145542300306260586e+06 1.1738838121253408025950193e+06 + 8.5656030038900463841855526e+05 3.3716852437002579681575298e+06 1.1744146077410005964338779e+06 + 8.5658396207500935997813940e+05 3.3714988941965634003281593e+06 1.1749453758527562022209167e+06 + 8.5660759959007927682250738e+05 3.3713124660485503263771534e+06 1.1754761164481921587139368e+06 + 8.5663121293182973749935627e+05 3.3711259592616213485598564e+06 1.1760068295148871839046478e+06 + 8.5665480209787713829427958e+05 3.3709393738411781378090382e+06 1.1765375150404262822121382e+06 + 8.5667836708583903964608908e+05 3.3707527097926260903477669e+06 1.1770681730123884044587612e+06 + 8.5670190789333195425570011e+05 3.3705659671213654801249504e+06 1.1775988034183569252490997e+06 + 8.5672542451788415201008320e+05 3.3703791458329842425882816e+06 1.1781294062457950785756111e+06 + 8.5674891695517813786864281e+05 3.3701922459368733689188957e+06 1.1786599814797239378094673e+06 + 8.5677238520236930344253778e+05 3.3700052674394692294299603e+06 1.1791905291070945095270872e+06 + 8.5679582925750513095408678e+05 3.3698182103453818708658218e+06 1.1797210491160354577004910e+06 + 8.5681924911863659508526325e+05 3.3696310746592213399708271e+06 1.1802515414946787059307098e+06 + 8.5684264478381152730435133e+05 3.3694438603855986148118973e+06 1.1807820062311540823429823e+06 + 8.5686601625107973814010620e+05 3.3692565675291232764720917e+06 1.1813124433135942090302706e+06 + 8.5688936351849138736724854e+05 3.3690691960944072343409061e+06 1.1818428527301282156258821e+06 + 8.5691268658409581985324621e+05 3.3688817460860605351626873e+06 1.1823732344688870944082737e+06 + 8.5693598544594354461878538e+05 3.3686942175086918286979198e+06 1.1829035885180006735026836e+06 + 8.5695926010208402294665575e+05 3.3685066103669139556586742e+06 1.1834339148656013421714306e+06 + 8.5698251055056846234947443e+05 3.3683189246653364971280098e+06 1.1839642134998175315558910e+06 + 8.5700573678944725543260574e+05 3.3681311604085708968341351e+06 1.1844944844087811652570963e+06 + 8.5702893881677149329334497e+05 3.3679433176012258045375347e+06 1.1850247275806239340454340e+06 + 8.5705211663059203419834375e+05 3.3677553962479140609502792e+06 1.1855549430034742690622807e+06 + 8.5707527022895961999893188e+05 3.3675673963532443158328533e+06 1.1860851306654645595699549e+06 + 8.5709839960992685519158840e+05 3.3673793179218294098973274e+06 1.1866152905547237023711205e+06 + 8.5712150477154413238167763e+05 3.3671911609582793898880482e+06 1.1871454226593850180506706e+06 + 8.5714458571186405606567860e+05 3.3670029254672043025493622e+06 1.1876755269675764720886946e+06 + 8.5716764242893853224813938e+05 3.3668146114532155916094780e+06 1.1882056034674295224249363e+06 + 8.5719067492081969976425171e+05 3.3666262189209233038127422e+06 1.1887356521470744628459215e+06 + 8.5721368318555969744920731e+05 3.3664377478749384172260761e+06 1.1892656729946439154446125e+06 + 8.5723666722121182829141617e+05 3.3662491983198733069002628e+06 1.1897956659982670098543167e+06 + 8.5725962702582776546478271e+05 3.3660605702603370882570744e+06 1.1903256311460740398615599e+06 + 8.5728256259746197611093521e+05 3.3658718637009412050247192e+06 1.1908555684261969290673733e+06 + 8.5730547393416613340377808e+05 3.3656830786462971009314060e+06 1.1913854778267641086131334e+06 + 8.5732836103399517014622688e+05 3.3654942151010152883827686e+06 1.1919153593359084334224463e+06 + 8.5735122389374591875821352e+05 3.3653052730722366832196712e+06 1.1924452129401285201311111e+06 + 8.5737406250920495949685574e+05 3.3651162525691883638501167e+06 1.1929750386246186681091785e+06 + 8.5739687687800661660730839e+05 3.3649271535974028520286083e+06 1.1935048363769752904772758e+06 + 8.5741966699781152419745922e+05 3.3647379761623614467680454e+06 1.1940346061848353128880262e+06 + 8.5744243286628299392759800e+05 3.3645487202695435844361782e+06 1.1945643480358321685343981e+06 + 8.5746517448108270764350891e+05 3.3643593859244282357394695e+06 1.1950940619176011532545090e+06 + 8.5748789183987199794501066e+05 3.3641699731324953027069569e+06 1.1956237478177745360881090e+06 + 8.5751058494031510781496763e+05 3.3639804818992260843515396e+06 1.1961534057239897083491087e+06 + 8.5753325378007336985319853e+05 3.3637909122301000170409679e+06 1.1966830356238789390772581e+06 + 8.5755589835681149270385504e+05 3.3636012641305960714817047e+06 1.1972126375050793867558241e+06 + 8.5757851866819174028933048e+05 3.3634115376061946153640747e+06 1.1977422113552223891019821e+06 + 8.5760111471187695860862732e+05 3.3632217326623769477009773e+06 1.1982717571619448717683554e+06 + 8.5762368648553243838250637e+05 3.3630318493046211078763008e+06 1.1988012749128798022866249e+06 + 8.5764623398682125844061375e+05 3.3628418875384088605642319e+06 1.1993307645956613123416901e+06 + 8.5766875721340812742710114e+05 3.3626518473692191764712334e+06 1.1998602261979263275861740e+06 + 8.5769125616295752115547657e+05 3.3624617288025338202714920e+06 1.2003896597073073498904705e+06 + 8.5771373083313391543924809e+05 3.3622715318438331596553326e+06 1.2009190651114394422620535e+06 + 8.5773618122160236816853285e+05 3.3620812564985952340066433e+06 1.2014484423979569692164660e+06 + 8.5775860732602805364876986e+05 3.3618909027723022736608982e+06 1.2019777915544942952692509e+06 + 8.5778100914407696109265089e+05 3.3617004706704355776309967e+06 1.2025071125686867162585258e+06 + 8.5780338667341391555964947e+05 3.3615099601984731853008270e+06 1.2030364054281681310385466e+06 + 8.5782573991170537192374468e+05 3.3613193713618968613445759e+06 1.2035656701205724384635687e+06 + 8.5784806885661720298230648e+05 3.3611287041661879047751427e+06 1.2040949066335351672023535e+06 + 8.5787037350581609643995762e+05 3.3609379586168262176215649e+06 1.2046241149546911474317312e+06 + 8.5789265385696839075535536e+05 3.3607471347192912362515926e+06 1.2051532950716733466833830e+06 + 8.5791490990774123929440975e+05 3.3605562324790661223232746e+06 1.2056824469721172936260700e+06 + 8.5793716595851408783346415e+05 3.3603653302388410083949566e+06 1.2062115988725612405687571e+06 + 8.5795942200928693637251854e+05 3.3601744279986158944666386e+06 1.2067407507730051875114441e+06 + 8.5798167806005978491157293e+05 3.3599835257583907805383205e+06 1.2072699026734491344541311e+06 + 8.5800393411083263345062733e+05 3.3597926235181656666100025e+06 1.2077990545738930813968182e+06 + 8.5802619016160548198968172e+05 3.3596017212779405526816845e+06 1.2083282064743370283395052e+06 + 8.5804844621237833052873611e+05 3.3594108190377154387533665e+06 1.2088573583747809752821922e+06 + 8.5807070226315117906779051e+05 3.3592199167974903248250484e+06 1.2093865102752249222248793e+06 + 8.5809295831392402760684490e+05 3.3590290145572652108967304e+06 1.2099156621756688691675663e+06 + 8.5811521436469687614589930e+05 3.3588381123170400969684124e+06 1.2104448140761128161102533e+06 + 8.5813747041546972468495369e+05 3.3586472100768149830400944e+06 1.2109739659765567630529404e+06 + + +EPHEM_RATES + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6633223634184048478346085e+02 -1.0639678295327923933655256e+03 3.2614563975071432651020586e+03 + 1.6618697387447238611457578e+02 -1.0644521595794024051429005e+03 3.2612999295906538463896140e+03 + 1.6604169676237307839983259e+02 -1.0649364588036689838190796e+03 3.2611433858849386524525471e+03 + 1.6589640500163756087204092e+02 -1.0654207272197916154254926e+03 3.2609867663907070891582407e+03 + 1.6575109859439584170104354e+02 -1.0659049648107304619770730e+03 3.2608300711207384665613063e+03 + 1.6560577754348793177996413e+02 -1.0663891715878457944199909e+03 3.2606733000594140321481973e+03 + 1.6546044184997876413945050e+02 -1.0668733475511373853805708e+03 3.2605164532109929496073164e+03 + 1.6531509151138340030229301e+02 -1.0673574926949252130725654e+03 3.2603595305811554680985864e+03 + 1.6516972653693176198430592e+02 -1.0678416070234695780527545e+03 3.2602025321656415144389030e+03 + 1.6502434692094388424266072e+02 -1.0683256905310900037875399e+03 3.2600454579651614039903507e+03 + 1.6487895266377478264985257e+02 -1.0688097432220470182073768e+03 3.2598883079761644694372080e+03 + 1.6473354377394440462012426e+02 -1.0692937650935000419849530e+03 3.2597310822036215540720150e+03 + 1.6458812024861276768206153e+02 -1.0697777561497096030507237e+03 3.2595737806439819905790500e+03 + 1.6444268208955483601130254e+02 -1.0702617163821553276648046e+03 3.2594164033000861309119500e+03 + 1.6429722929535063258299488e+02 -1.0707456457979376409639372e+03 3.2592589501733536963001825e+03 + 1.6415176187097014803839556e+02 -1.0712295443956359122239519e+03 3.2591014212581048923311755e+03 + 1.6400627981854333370392851e+02 -1.0717134121681508531764848e+03 3.2589438165543397190049291e+03 + 1.6386078313594023825316981e+02 -1.0721972491254218766698614e+03 3.2587861360705778679403011e+03 + 1.6371527182493582586175762e+02 -1.0726810552617694156651851e+03 3.2586283798032700360636227e+03 + 1.6356974589014510002016323e+02 -1.0731648305757730668119621e+03 3.2584705477446054828760680e+03 + 1.6342420532943802413683443e+02 -1.0736485750731133066437906e+03 3.2583126399038146701059304e+03 + 1.6327865014458964765253768e+02 -1.0741322887438498128176434e+03 3.2581546562759276639553718e+03 + 1.6313308033737490632120171e+02 -1.0746159715950825557229109e+03 3.2579965968630740462685935e+03 + 1.6298749591063381103595020e+02 -1.0750996236239716381533071e+03 3.2578384616680937142518815e+03 + 1.6284189686649634154491650e+02 -1.0755832448290971115056891e+03 3.2576802506853073282400146e+03 + 1.6269628320212251537668635e+02 -1.0760668352161389975663042e+03 3.2575219639140045728709083e+03 + 1.6255065491964234070110251e+02 -1.0765503947779970985720865e+03 3.2573636013598652425571345e+03 + 1.6240501202225075871865556e+02 -1.0770339235160915904998546e+03 3.2572051630207593007071409e+03 + 1.6225935451136780329761677e+02 -1.0775174214318424219527515e+03 3.2570466488959773414535448e+03 + 1.6211368238734843316706247e+02 -1.0780008885266697689075954e+03 3.2568880589855184553016443e+03 + 1.6196799565267767206933058e+02 -1.0784843247920532576245023e+03 3.2567293932900934123608749e+03 + 1.6182229430842050987848779e+02 -1.0789677302336731372633949e+03 3.2565706518104120732459705e+03 + 1.6167657835493190532361041e+02 -1.0794511048543695324042346e+03 3.2564118345436345407506451e+03 + 1.6153084779114689695234119e+02 -1.0799344486527220396965276e+03 3.2562529414918903967191000e+03 + 1.6138510262168045983344200e+02 -1.0804177616244710407045204e+03 3.2560939726537594651745167e+03 + 1.6123934285079255346317950e+02 -1.0809010437639362862682901e+03 3.2559349280313726922031492e+03 + 1.6109356847528817979764426e+02 -1.0813842950838979959371500e+03 3.2557758076254390289250296e+03 + 1.6094777949587739840353606e+02 -1.0818675155786761479248526e+03 3.2556166114316993116517551e+03 + 1.6080197591717512750619790e+02 -1.0823507052411705444683321e+03 3.2554573394508629462507088e+03 + 1.6065615773776139008077735e+02 -1.0828338640870013023231877e+03 3.2552979916850604240607936e+03 + 1.6051032495941117872462200e+02 -1.0833169921033884293137817e+03 3.2551385681371311875409447e+03 + 1.6036447758496444748743670e+02 -1.0838000892832319550507236e+03 3.2549790688035254788701423e+03 + 1.6021861561371125048935937e+02 -1.0842831556449918934958987e+03 3.2548194936814038555894513e+03 + 1.6007273905097653710072336e+02 -1.0847661911758882524736691e+03 3.2546598427771555179788265e+03 + 1.5992684789356533769932867e+02 -1.0852491958787609291903209e+03 3.2545001160865203928551637e+03 + 1.5978094214396261918409436e+02 -1.0857321697578697694552829e+03 3.2543403136080792137363460e+03 + 1.5963502180429836130315380e+02 -1.0862151128075352062296588e+03 3.2541804353446718778286595e+03 + 1.5948908687528256677978789e+02 -1.0866980250234969389566686e+03 3.2540204812984279669763055e+03 + 1.5934313736046522080869181e+02 -1.0871809064071751436131308e+03 3.2538604514657972686109133e+03 + 1.5919717325736135649094649e+02 -1.0876637569699296363978647e+03 3.2537003458482004134566523e+03 + 1.5905119457023093332281860e+02 -1.0881465767018205497151939e+03 3.2535401644449275408987887e+03 + 1.5890520132463379354703648e+02 -1.0886293657278072259941837e+03 3.2533799073511172537109815e+03 + 1.5875919370516888307065528e+02 -1.0891121243716477238194784e+03 3.2532195749842476288904436e+03 + 1.5861317192483500093658222e+02 -1.0895948525538221929309657e+03 3.2530591675708074035355821e+03 + 1.5846713604149678644716914e+02 -1.0900775499860728814383037e+03 3.2528986850213373145379592e+03 + 1.5832108605373429099927307e+02 -1.0905602166499395480059320e+03 3.2527381273273167607840151e+03 + 1.5817502196225746047275607e+02 -1.0910428525525221630232409e+03 3.2525774944894560576358344e+03 + 1.5802894377274631665386551e+02 -1.0915254576853008074976970e+03 3.2524167865120157330238726e+03 + 1.5788285148165081750448735e+02 -1.0920080320482757088029757e+03 3.2522560033871850464493036e+03 + 1.5773674509074601246538805e+02 -1.0924905756485463825811166e+03 3.2520951451227742836636025e+03 + 1.5759062460358185830955335e+02 -1.0929730884790130858164048e+03 3.2519342117145233714836650e+03 + 1.5744449002086832933855476e+02 -1.0934555705396760458825156e+03 3.2517732031595924127032049e+03 + 1.5729834134083046137675410e+02 -1.0939380218376347784214886e+03 3.2516121194650813777116127e+03 + 1.5715217856914821936697990e+02 -1.0944204423657895404176088e+03 3.2514509606253104720963165e+03 + 1.5700600170830659862986067e+02 -1.0949028321213004346645903e+03 3.2512897266431191383162513e+03 + 1.5685981075440059839820606e+02 -1.0953851911126873801549664e+03 3.2511284175177979705040343e+03 + 1.5671360570849520854608272e+02 -1.0958675193314304578962037e+03 3.2509670332514765505038667e+03 + 1.5656738657840040218616195e+02 -1.0963498167817895136977313e+03 3.2508055738391849445179105e+03 + 1.5642115336269620229359134e+02 -1.0968320834623443715827307e+03 3.2506440392823437832703348e+03 + 1.5627490605747757967947109e+02 -1.0973143193745156622753711e+03 3.2504824295859220910642762e+03 + 1.5612864466948954600411525e+02 -1.0977965245168827550514834e+03 3.2503207447449503888492472e+03 + 1.5598236919660209309768106e+02 -1.0982786988851858041016385e+03 3.2501589847587183612631634e+03 + 1.5583607964449521432470647e+02 -1.0987608424851050585857593e+03 3.2499971496336165728280321e+03 + 1.5568977601671883803646779e+02 -1.0992429553138003939238843e+03 3.2498352393646746349986643e+03 + 1.5554345830475304524043167e+02 -1.0997250373698516341391951e+03 3.2496732539469226139772218e+03 + 1.5539712651605279347677424e+02 -1.1002070886560991311853286e+03 3.2495111933917205533361994e+03 + 1.5525078065168307261956215e+02 -1.1006891091725424303149339e+03 3.2493490576912581673241220e+03 + 1.5510442071093387994551449e+02 -1.1011710989120820158859715e+03 3.2491868468469560866651591e+03 + 1.5495804669877517767417885e+02 -1.1016530578803974549373379e+03 3.2490245608623636144329794e+03 + 1.5481165861378701720241224e+02 -1.1021349860774892022163840e+03 3.2488621997296709196234588e+03 + 1.5466525645845433700742433e+02 -1.1026168835033568029757589e+03 3.2486997634566882879880723e+03 + 1.5451884023135718848607212e+02 -1.1030987501551605873828521e+03 3.2485372520434157195268199e+03 + 1.5437240993533552568806044e+02 -1.1035805860329003280639881e+03 3.2483746654827527891029604e+03 + 1.5422596557642430070700357e+02 -1.1040623911351560764160240e+03 3.2482120037825102372153196e+03 + 1.5407950715249356221647759e+02 -1.1045441654661881329957396e+03 3.2480492669348773233650718e+03 + 1.5393303466034831217257306e+02 -1.1050259090203160212695366e+03 3.2478864549434042601205874e+03 + 1.5378654810531349994562333e+02 -1.1055076218003800931910519e+03 3.2477235678166111938480753e+03 + 1.5364004749164914187531394e+02 -1.1059893038120601431728574e+03 3.2475606055381676924298517e+03 + 1.5349353281403023174789269e+02 -1.1064709550425764064129908e+03 3.2473975681173046723415609e+03 + 1.5334700407778177577711176e+02 -1.1069525754976086773240240e+03 3.2472344555604113338631578e+03 + 1.5320046128787370776080934e+02 -1.1074341651771569559059571e+03 3.2470712678525778756011277e+03 + 1.5305390443827107560537115e+02 -1.1079157240840613667387515e+03 3.2469080050030343045364134e+03 + 1.5290733353252386450549238e+02 -1.1083972522169017338455888e+03 3.2467446670167505544668529e+03 + 1.5276074857595705225321581e+02 -1.1088787495671583656076109e+03 3.2465812538816567212052178e+03 + 1.5261414956502062523213681e+02 -1.1093602161419310050405329e+03 3.2464177656020128779346123e+03 + 1.5246753650290960990787426e+02 -1.1098416519454797253274592e+03 3.2462542021820790978381410e+03 + 1.5232090939388396577669482e+02 -1.1103230569664444828958949e+03 3.2460905636154652711411472e+03 + 1.5217426823261868662484630e+02 -1.1108044312105055269057630e+03 3.2459268499106910894624889e+03 + 1.5202761302550379696185701e+02 -1.1112857746790823512128554e+03 3.2457630610620767583895940e+03 + 1.5188094377431426096336509e+02 -1.1117670873650754401751328e+03 3.2455991970660725201014429e+03 + 1.5173426047514507786218019e+02 -1.1122483692784246613882715e+03 3.2454352579297783449874260e+03 + 1.5158756313545123362018785e+02 -1.1127296204134499930660240e+03 3.2452712436503538810939062e+03 + 1.5144085175416770994161197e+02 -1.1132108407687312592315720e+03 3.2451071542256695465766825e+03 + 1.5129412632774455005346681e+02 -1.1136920303442686872585909e+03 3.2449429896599849598715082e+03 + 1.5114738793289058094160282e+02 -1.1141731895007401362818200e+03 3.2447787497076415093033575e+03 + 1.5100063742728090687705844e+02 -1.1146543180634866985201370e+03 3.2446144340193213793099858e+03 + 1.5085387339269863105073455e+02 -1.1151354148468149105610792e+03 3.2444500427050743383006193e+03 + 1.5070709462676566658956290e+02 -1.1156164792060487798153190e+03 3.2442855759608582957298495e+03 + 1.5056030113303191342311038e+02 -1.1160975111383481817028951e+03 3.2441210337866741610923782e+03 + 1.5041349291398245213713381e+02 -1.1165785106451330648269504e+03 3.2439564161860716922092251e+03 + 1.5026666996890722316493338e+02 -1.1170594777221433560043806e+03 3.2437917231569203977414872e+03 + 1.5011983229780622650650912e+02 -1.1175404123778992016013945e+03 3.2436269547020606296428014e+03 + 1.4997297990067951900527987e+02 -1.1180213146067208072054200e+03 3.2434621108186524907068815e+03 + 1.4982611278249700603737438e+02 -1.1185021844057675934891449e+03 3.2432971915024363624979742e+03 + 1.4967923094538872419434483e+02 -1.1189830217793000883830246e+03 3.2431321967619314818875864e+03 + 1.4953233438828962675870571e+02 -1.1194638267202180941239931e+03 3.2429671265942979516694322e+03 + 1.4938542311119977057387587e+02 -1.1199445992342016324982978e+03 3.2428019809981160506140441e+03 + 1.4923849711731409684034588e+02 -1.1204253393269307252921863e+03 3.2426367599719656027446035e+03 + 1.4909155640982763202373462e+02 -1.1209060469856253803300206e+03 3.2424714635172667840379290e+03 + 1.4894460098803031655734230e+02 -1.1213867222117055462149438e+03 3.2423060916389895282918587e+03 + 1.4879763085369719988193538e+02 -1.1218673650136911419394892e+03 3.2421406443286136891401839e+03 + 1.4865064600966823604721867e+02 -1.1223479753844824244879419e+03 3.2419751215903997945133597e+03 + 1.4850364645523342232991126e+02 -1.1228285533254991150897695e+03 3.2418095234250572502787691e+03 + 1.4835663219145777702578926e+02 -1.1233090988381613897217903e+03 3.2416438498318757410743274e+03 + 1.4820960322224627248033357e+02 -1.1237896119167892265977571e+03 3.2414781008122763523715548e+03 + 1.4806255954688890597026329e+02 -1.1242700925670626475039171e+03 3.2413122763634182774694636e+03 + 1.4791550116645063894793566e+02 -1.1247505407875614764634520e+03 3.2411463764831719345238525e+03 + 1.4776842808483650060225045e+02 -1.1252309565740258676669328e+03 3.2409804011757969419704750e+03 + 1.4762134030098147263743158e+02 -1.1257113399278759970911779e+03 3.2408143504462636883545201e+03 + 1.4747423781879055582066940e+02 -1.1261916908519515345687978e+03 3.2406482242832116753561422e+03 + 1.4732712217717991620702378e+02 -1.1266720119135979985003360e+03 3.2404820238907946077233646e+03 + 1.4717999931881556108237419e+02 -1.1271523128440194341237657e+03 3.2403157538243463022809010e+03 + 1.4703286835442759183933958e+02 -1.1276325917986468994058669e+03 3.2401494131722315614752006e+03 + 1.4688572340240963853830181e+02 -1.1281128387849969385570148e+03 3.2399829972392476520326454e+03 + 1.4673856388695500641006220e+02 -1.1285930528275357573875226e+03 3.2398165055731269603711553e+03 + 1.4659138981090367792603502e+02 -1.1290732339248429525468964e+03 3.2396499381660596554866061e+03 + 1.4644420117177068618730118e+02 -1.1295533820712385022488888e+03 3.2394832950279851502273232e+03 + 1.4629699797488095214248460e+02 -1.1300334972724028830270981e+03 3.2393165761525146990607027e+03 + 1.4614978022023453263500414e+02 -1.1305135795269154641573550e+03 3.2391497815353873193089385e+03 + 1.4600254790463640119924094e+02 -1.1309936288361966489901533e+03 3.2389829111872531939297915e+03 + 1.4585530103696154924364237e+02 -1.1314736451988262615486747e+03 3.2388159651038522497401573e+03 + 1.4570803961685493277400383e+02 -1.1319536286077045588172041e+03 3.2386489432809244135569315e+03 + 1.4556076363934661799248715e+02 -1.1324335790727711810177425e+03 3.2384818457248602499021217e+03 + 1.4541347311366652661490662e+02 -1.1329134965897665097145364e+03 3.2383146724306893702305388e+03 + 1.4526616803945967149047647e+02 -1.1333933811544300169771304e+03 3.2381474233977019139274489e+03 + 1.4511884841459607287106337e+02 -1.1338732327696022821328370e+03 3.2379800986301574994286057e+03 + 1.4497151424085069493230549e+02 -1.1343530514409630995942280e+03 3.2378126981301866180729121e+03 + 1.4482416552603353920858353e+02 -1.1348328371599923229950946e+03 3.2376452218906888447236270e+03 + 1.4467680226836955625913106e+02 -1.1353125899252700037322938e+03 3.2374776699088242821744643e+03 + 1.4452942446643879748080508e+02 -1.1357923097438963395688916e+03 3.2373100421980830105894711e+03 + 1.4438203212095126559688651e+02 -1.1362719966130312059249263e+03 3.2371423387485256171203218e+03 + 1.4423462523581187610943743e+02 -1.1367516505298344782204367e+03 3.2369745595644108107080683e+03 + 1.4408720381563568935234798e+02 -1.1372312714928862078522798e+03 3.2368067046428996036411263e+03 + 1.4393976785509767069015652e+02 -1.1377108595092865925835213e+03 3.2366387739854117171489634e+03 + 1.4379231736094280336146767e+02 -1.1381904145705154860479524e+03 3.2364707675926574665936641e+03 + 1.4364485233352607451706717e+02 -1.1386699366808329614286777e+03 3.2363026854596660086826887e+03 + 1.4349737250056406878684356e+02 -1.1391494252836021132679889e+03 3.2361345272335702247801237e+03 + 1.4334987196447548285505036e+02 -1.1396288682094923387921881e+03 3.2359662851008642974193208e+03 + 1.4320234958820188353456615e+02 -1.1401082628712790665304055e+03 3.2357979574995574694185052e+03 + 1.4305481258352696727342845e+02 -1.1405876238480182109924499e+03 3.2356295539059651673596818e+03 + 1.4290726368145010383159388e+02 -1.1410669567089184965880122e+03 3.2354610779211875524197239e+03 + 1.4275970288303631150483852e+02 -1.1415462614511395713634556e+03 3.2352925295487734729249496e+03 + 1.4261213018473560509846720e+02 -1.1420255380761013839219231e+03 3.2351239087908538749616127e+03 + 1.4246454559364792658016086e+02 -1.1425047865809640370571287e+03 3.2349552156452987219381612e+03 + 1.4231694910835332734677650e+02 -1.1429840069643078095396049e+03 3.2347864501071371705620550e+03 + 1.4216934072991674042896193e+02 -1.1434631992360723415913526e+03 3.2346176121785001669195481e+03 + 1.4202172045869320982092177e+02 -1.1439423633877377142198384e+03 3.2344487018636468746990431e+03 + 1.4187408829681271527078934e+02 -1.1444214994164640302187763e+03 3.2342797191583181302121375e+03 + 1.4172644424711521082826948e+02 -1.1449006073265111353975954e+03 3.2341106640610933027346618e+03 + 1.4157878830924573776428588e+02 -1.1453796871207191543362569e+03 3.2339415365819131693569943e+03 + 1.4143112048462427310369094e+02 -1.1458587387948280138516566e+03 3.2337723367101266376266722e+03 + 1.4128344077218582697241800e+02 -1.1463377623488377139437944e+03 3.2336030644478641988825984e+03 + 1.4113574917725534874080040e+02 -1.1468167577827484819863457e+03 3.2334337197965464838489424e+03 + 1.4098804569876784853477147e+02 -1.1472957250923000174225308e+03 3.2332643027590124802372884e+03 + 1.4084033033672335477604065e+02 -1.1477746642860124666185584e+03 3.2330948133324227455887012e+03 + 1.4069260309573684253336978e+02 -1.1482535753596257563913241e+03 3.2329252515110970307432581e+03 + 1.4054486397438827793848759e+02 -1.1487324583131398867408279e+03 3.2327556173021353060903493e+03 + 1.4039711297338766371467500e+02 -1.1492113131479748062702129e+03 3.2325859107090882389456965e+03 + 1.4024935009628501347833662e+02 -1.1496901398570307719637640e+03 3.2324161317284051619935781e+03 + 1.4010157534166032178291061e+02 -1.1501689384459878056077287e+03 3.2322462803529861048446037e+03 + 1.3995378871306357382309216e+02 -1.1506477089176853496610420e+03 3.2320763565913512138649821e+03 + 1.3980599021049474117717182e+02 -1.1511264512650241158553399e+03 3.2319063604378206946421415e+03 + 1.3965817983537382929171144e+02 -1.1516051654908435466495575e+03 3.2317362918952339896350168e+03 + 1.3951035376117775399507082e+02 -1.1520838438817481801379472e+03 3.2315661459936200117226690e+03 + 1.3936250507077104998643335e+02 -1.1525624723599380558880512e+03 3.2313959137721199113002513e+03 + 1.3921463631800915550229547e+02 -1.1530410558300657157815294e+03 3.2312255985783644973707851e+03 + 1.3906675321764933528356778e+02 -1.1535196057145456052239751e+03 3.2310552078609212003357243e+03 + 1.3891885585808608993829694e+02 -1.1539981221752564124471974e+03 3.2308847417326796858105808e+03 + 1.3877094424251438908868295e+02 -1.1544766052192985625879373e+03 3.2307142001886691105028149e+03 + 1.3862301836489930906282098e+02 -1.1549550548452518796693766e+03 3.2305435832253401713387575e+03 + 1.3847507823305079455167288e+02 -1.1554334710460166206758004e+03 3.2303728908490829780930653e+03 + 1.3832712384696881713352923e+02 -1.1559118538230122794630006e+03 3.2302021230598970760183875e+03 + 1.3817915520807335383324244e+02 -1.1563902031833392811677186e+03 3.2300312798570726044999901e+03 + 1.3803117231920444396564562e+02 -1.1568685191241575012099929e+03 3.2298603612377696663315874e+03 + 1.3788317517468212258791027e+02 -1.1573468016383669692004332e+03 3.2296893672012779461510945e+03 + 1.3773516378373625457243179e+02 -1.1578250507330676555284299e+03 3.2295182977525678325037006e+03 + 1.3758713814707692790761939e+02 -1.1583032664068393842171645e+03 3.2293471528831191790231969e+03 + 1.3743909826292909315270663e+02 -1.1587814486568424854340265e+03 3.2291759326050018898968119e+03 + 1.3729104413555276664737903e+02 -1.1592595974830769591790158e+03 3.2290046369132464860740583e+03 + 1.3714297576423791724664625e+02 -1.1597377128812825048953528e+03 3.2288332658021722636476625e+03 + 1.3699489315075956596956530e+02 -1.1602157948628191661555320e+03 3.2286618192774594717775472e+03 + 1.3684679629724766414256010e+02 -1.1606938434220071485469816e+03 3.2284902973369780738721602e+03 + 1.3669868520654225108046376e+02 -1.1611718585489063571003499e+03 3.2283186999835684218851384e+03 + 1.3655055987757825164408132e+02 -1.1616498402562967839912744e+03 3.2281470272158098850923125e+03 + 1.3640242031177572812339349e+02 -1.1621277885427584806166124e+03 3.2279752790294432998052798e+03 + 1.3625426651232965014060028e+02 -1.1626057033983513520070119e+03 3.2278034554294376903271768e+03 + 1.3610609847994999199727317e+02 -1.1630835848287554199487204e+03 3.2276315564186338633589912e+03 + 1.3595791621605675913997402e+02 -1.1635614328396507062279852e+03 3.2274595819892215331492480e+03 + 1.3580971972206992859355523e+02 -1.1640392474210973432491301e+03 3.2272875321433302815421484e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + + +DT_QUAT 8.8483028132992316838745239e-02 +T0_QUAT -1.8139020740985870361328125e+01 +NUMBER_OF_QUATERNIONS 411 +QUATERNIONS + 4.4936709038965549911637254e-01 -6.5015588549036396059932486e-01 2.3349115212463461555003619e-01 5.6643500925194611994584193e-01 + 4.4938366541447033464251604e-01 -6.5017385301285568477425159e-01 2.3346616416198365251410962e-01 5.6641150412865026719799744e-01 + 4.4940024043928517016865953e-01 -6.5019182053534740894917832e-01 2.3344117619933268947818306e-01 5.6638799900535441445015294e-01 + 4.4941681546410000569480303e-01 -6.5020978805783913312410505e-01 2.3341618823668172644225649e-01 5.6636449388205856170230845e-01 + 4.4943339048891484122094653e-01 -6.5022775558033085729903178e-01 2.3339120027403076340632992e-01 5.6634098875876270895446396e-01 + 4.4944996551372967674709002e-01 -6.5024572310282258147395851e-01 2.3336621231137980037040336e-01 5.6631748363546685620661947e-01 + 4.4946654053854451227323352e-01 -6.5026369062531430564888524e-01 2.3334122434872883733447679e-01 5.6629397851217100345877498e-01 + 4.4948311556335934779937702e-01 -6.5028165814780602982381197e-01 2.3331623638607787429855023e-01 5.6627047338887515071093048e-01 + 4.4949969058817418332552052e-01 -6.5029962567029775399873870e-01 2.3329124842342691126262366e-01 5.6624696826557929796308599e-01 + 4.4951626561298901885166401e-01 -6.5031759319278947817366543e-01 2.3326626046077594822669710e-01 5.6622346314228344521524150e-01 + 4.4953284063780385437780751e-01 -6.5033556071528120234859216e-01 2.3324127249812498519077053e-01 5.6619995801898759246739701e-01 + 4.4954941566261868990395101e-01 -6.5035352823777292652351889e-01 2.3321628453547402215484396e-01 5.6617645289569173971955252e-01 + 4.4956597299825906688397481e-01 -6.5037134261204543328460659e-01 2.3319113247167327918063506e-01 5.6615320220565079623042948e-01 + 4.4958251683477590265880508e-01 -6.5038904172850353635482179e-01 2.3316585710802850694989274e-01 5.6613014231275993193293061e-01 + 4.4959890585552259034685108e-01 -6.5040671932391957987817932e-01 2.3314065371275444205068084e-01 5.6610719735594461354821760e-01 + 4.4961495352273234127338242e-01 -6.5042435056461456177601121e-01 2.3311560982187559676326316e-01 5.6608450801865772827881074e-01 + 4.4963097135262219961049368e-01 -6.5044199947613345891284098e-01 2.3309059019069511276001094e-01 5.6606180906552994169800286e-01 + 4.4964644483623100734703826e-01 -6.5045999734478798792736143e-01 2.3306602998232173185044758e-01 5.6603894933885601226108975e-01 + 4.4966191746607320212092418e-01 -6.5047799423871455193335578e-01 2.3304146953329843428015522e-01 5.6601608852547147243683412e-01 + 4.4967791198996875934312811e-01 -6.5049575593978892218416377e-01 2.3301703015490593529079888e-01 5.6599303054936311863087894e-01 + 4.4969404492534642558965174e-01 -6.5051345425823325907543904e-01 2.3299262285334973454631324e-01 5.6596991923919326428205068e-01 + 4.4971084286179707767416858e-01 -6.5053102141866014918036853e-01 2.3296836662317746413641828e-01 5.6594636507133400105118426e-01 + 4.4972823191005312226664614e-01 -6.5054847183474207028552883e-01 2.3294424467040011905716312e-01 5.6592241702505119427257796e-01 + 4.4974511372765824113173494e-01 -6.5056601922045320662846279e-01 2.3292010883189998016185029e-01 5.6589876322137755426666672e-01 + 4.4976058660490320084690552e-01 -6.5058383811989906053696586e-01 2.3289593484216208896242506e-01 5.6587592973017508679589582e-01 + 4.4977606851069595883529928e-01 -6.5060165678100767561176099e-01 2.3287175087634973125183535e-01 5.6585309050375709460922735e-01 + 4.4979262191936453252338879e-01 -6.5061955273758564910480118e-01 2.3284650831223663303148896e-01 5.6582974332324298405438867e-01 + 4.4980917443399481836507903e-01 -6.5063744766711650857615723e-01 2.3282126548983891889399445e-01 5.6580639500092111404683237e-01 + 4.4982640841754939486918374e-01 -6.5065559307521181331424032e-01 2.3279659228933669012917562e-01 5.6578197930703388873752147e-01 + 4.4984387135131964630119228e-01 -6.5067382214346292101936342e-01 2.3277211080621948435798174e-01 5.6575720323800715583217880e-01 + 4.4986088459848888598813232e-01 -6.5069169252181313645166938e-01 2.3274762034757009998564570e-01 5.6573319773008468036579188e-01 + 4.4987742721149781566225556e-01 -6.5070918753960593772234233e-01 2.3272312052227847600782695e-01 5.6570999894953455378043827e-01 + 4.4989397940327630065482367e-01 -6.5072674773784755508643229e-01 2.3269867802849167337519987e-01 5.6568669095091894671867294e-01 + 4.4991056710642879368222680e-01 -6.5074453743372684400014805e-01 2.3267443584875935336242492e-01 5.6566300525012069844166263e-01 + 4.4992715393029059089968769e-01 -6.5076232612322060244736122e-01 2.3265019342055251461154342e-01 5.6563931843204040550432410e-01 + 4.4994363581769603044335781e-01 -6.5077935478561510507233834e-01 2.3262550080973967703279470e-01 5.6561677162632739701564333e-01 + 4.4996011333840374435411036e-01 -6.5079635680170122569165869e-01 2.3260079273514053244120703e-01 5.6559426234457843563063761e-01 + 4.4997660875209388731121862e-01 -6.5081337366576808012297306e-01 2.3257645657913172954067704e-01 5.6557156583304413199897454e-01 + 4.4999311113684647978061548e-01 -6.5083039616336857413614325e-01 2.3255227535614950151732216e-01 5.6554879063250773629789592e-01 + 4.5001009294006771854768090e-01 -6.5084759935777103390108778e-01 2.3252788266198692879171972e-01 5.6552550998786199620838033e-01 + 4.5002766831746515707735057e-01 -6.5086502638823706679005454e-01 2.3250322825110106284007827e-01 5.6550160391125448011706567e-01 + 4.5004503742636042806779528e-01 -6.5088244423005048311381415e-01 2.3247863298025681078051718e-01 5.6547784509090393001429220e-01 + 4.5006148754307967463361706e-01 -6.5089988061163550625565222e-01 2.3245431297607879739253178e-01 5.6545468008416754912559554e-01 + 4.5007748484652948528506045e-01 -6.5091851379846854541710854e-01 2.3243033975902191445861433e-01 5.6543035219920834144602395e-01 + 4.5009413906423784146326739e-01 -6.5093665295848612828422119e-01 2.3240552827039445693557695e-01 5.6540641157010695927453980e-01 + 4.5011137101966225415594636e-01 -6.5095399632217565422109828e-01 2.3238002512257058262967746e-01 5.6538320834193722674854143e-01 + 4.5012847235987962779546478e-01 -6.5097141252378343256879134e-01 2.3235505244242410372024210e-01 5.6535980406483621329982725e-01 + 4.5014570390457259163596859e-01 -6.5098839228496052644601377e-01 2.3233006936868033642795695e-01 5.6533679982258655538629455e-01 + 4.5016301564505029064733321e-01 -6.5100551255453309451581845e-01 2.3230492856732645745587718e-01 5.6531363165263714964936526e-01 + 4.5017993532534938960765203e-01 -6.5102364686818126049416833e-01 2.3227998550858897086612842e-01 5.6528952350193761855479124e-01 + 4.5019641258051568133424780e-01 -6.5104200195457129218823411e-01 2.3225509326849608227050226e-01 5.6526548934236231502836745e-01 + 4.5021312222332832142512871e-01 -6.5105979636751520889248468e-01 2.3223050127550515231433792e-01 5.6524178933367941191079353e-01 + 4.5022866686283313786276494e-01 -6.5107717263429165654997632e-01 2.3220714727602428939512436e-01 5.6521898726368302590117310e-01 + 4.5024510488776903205376811e-01 -6.5109472148275027159058936e-01 2.3218310689414875525038440e-01 5.6519555381733310728264996e-01 + 4.5026136844492747890456030e-01 -6.5111245947785445498112722e-01 2.3215883127030184640560151e-01 5.6517213507214603129824582e-01 + 4.5027797947937903133563964e-01 -6.5113035467333291173019916e-01 2.3213424259659681814227383e-01 5.6514838390731692019386401e-01 + 4.5029425250256344126498220e-01 -6.5114798482355373820951172e-01 2.3210999322478895190435821e-01 5.6512506497993109100264064e-01 + 4.5031039657116944674442038e-01 -6.5116546965019816983755163e-01 2.3208591796702965348586645e-01 5.6510194173843919518418488e-01 + 4.5032677066361270767913538e-01 -6.5118316063199943588557517e-01 2.3206159630837128182712092e-01 5.6507849583205016497089446e-01 + 4.5034163853006203837026078e-01 -6.5120059171486677218609884e-01 2.3203802458328984248403515e-01 5.6505623888578637714630304e-01 + 4.5035898277898051000889268e-01 -6.5121826904345558872932997e-01 2.3201300965852547641965486e-01 5.6503231415868637732558000e-01 + 4.5037696777034053052801710e-01 -6.5123534996789311790621468e-01 2.3198778963643454376075681e-01 5.6500864711417575492191645e-01 + 4.5039396043234952715650365e-01 -6.5125304986523613326454551e-01 2.3196316637209310473899393e-01 5.6498480943643425433720040e-01 + 4.5041183390996836211073173e-01 -6.5126980946381829440383626e-01 2.3193848162870098206234104e-01 5.6496137557765313541580099e-01 + 4.5042917219621986246735901e-01 -6.5128677216312458320146561e-01 2.3191406536716793751473631e-01 5.6493802095879441793613296e-01 + 4.5044648612649801355800605e-01 -6.5130423751314026059588969e-01 2.3188991489992596961577931e-01 5.6491399407469344851051574e-01 + 4.5046426560643476610934499e-01 -6.5132187103802285932374616e-01 2.3186569274635726589650631e-01 5.6488942833658728481793787e-01 + 4.5048126687403305945522902e-01 -6.5133950586760158696364442e-01 2.3184116831587472939979477e-01 5.6486560256900508747435197e-01 + 4.5049825044364238957328439e-01 -6.5135655018115645731313634e-01 2.3181631722194526168401296e-01 5.6484260281336273745722565e-01 + 4.5051529232189307938583056e-01 -6.5137449137134184606878762e-01 2.3179132896473941816140041e-01 5.6481857546614477882940264e-01 + 4.5053158601231552138344227e-01 -6.5139229965876999095542033e-01 2.3176777654859959110211776e-01 5.6479470580398083434658929e-01 + 4.5054848360920862759826377e-01 -6.5140994939688756648621393e-01 2.3174364814140424595478862e-01 5.6477077057006053184551320e-01 + 4.5056549777071880358292333e-01 -6.5142762723615343922745069e-01 2.3171878241364066153273882e-01 5.6474700934917687611402926e-01 + 4.5058255701081584287948090e-01 -6.5144534486745642176686033e-01 2.3169387143020644947988274e-01 5.6472318166496304758794622e-01 + 4.5059984291268934120111567e-01 -6.5146261825954043800379623e-01 2.3166930976026489652497276e-01 5.6469953912916082128248263e-01 + 4.5061719075905304343621083e-01 -6.5147946450098126458527759e-01 2.3164500784892530504954777e-01 5.6467623029892577424249112e-01 + 4.5063440981933816642523993e-01 -6.5149670247357138741506333e-01 2.3162076873122935949389500e-01 5.6465254346827664644337119e-01 + 4.5065353254698886642515276e-01 -6.5151336148435656792088366e-01 2.3159627868086513080569944e-01 5.6462810513775318899121203e-01 + 4.5067047469580179264170283e-01 -6.5153094353992779819151338e-01 2.3157200415536421944651124e-01 5.6460425054979912484753868e-01 + 4.5068644139060243247740800e-01 -6.5154807583946061644297743e-01 2.3154912537564548147273058e-01 5.6458111813480360563488603e-01 + 4.5070329822154536758560539e-01 -6.5156566908522040026952027e-01 2.3152485795151145353543143e-01 5.6455730975011075845060304e-01 + 4.5072001700772151844276436e-01 -6.5158258069840846449238825e-01 2.3150041309961555402452404e-01 5.6453446797664064149557817e-01 + 4.5073683451936508159718642e-01 -6.5159979817118718337098926e-01 2.3147603198661020895698925e-01 5.6451116520974531365339999e-01 + 4.5075345694090435122447502e-01 -6.5161773654056864835126817e-01 2.3145122946795121388063876e-01 5.6448735580112341381209262e-01 + 4.5076952861873170741446870e-01 -6.5163549364453809964459197e-01 2.3142606422420966549857724e-01 5.6446434102534548404861425e-01 + 4.5078672168540712128503856e-01 -6.5165295774801224037986458e-01 2.3140147143791386930011811e-01 5.6444053116936876435261183e-01 + 4.5080379359566735697484319e-01 -6.5166956667119546597888302e-01 2.3137788228675207347073695e-01 5.6441739089332587653302653e-01 + 4.5082050307623366958154065e-01 -6.5168695105882523677109930e-01 2.3135429477188534930220953e-01 5.6439364110197742796515286e-01 + 4.5083863770024512618306289e-01 -6.5170428383117728898810128e-01 2.3133010036269197051694846e-01 5.6436905820470584238535139e-01 + 4.5085623520537820851927790e-01 -6.5172176133905257433553970e-01 2.3130553426870548161531360e-01 5.6434488638617452682666453e-01 + 4.5087274300762281153964750e-01 -6.5173930881350949917418802e-01 2.3128161730114579763828431e-01 5.6432123516543053476368641e-01 + 4.5088916943768253542401681e-01 -6.5175701600556035231193164e-01 2.3125787313100332198700926e-01 5.6429739064277950610915013e-01 + 4.5090653362474797383185887e-01 -6.5177456431779579038021666e-01 2.3123417877508262163743780e-01 5.6427295682947142818619568e-01 + 4.5092452973176716524150720e-01 -6.5179160432641813915921603e-01 2.3121096115958864047890131e-01 5.6424840669286624450506906e-01 + 4.5094177307562366419091404e-01 -6.5180921093156141132851644e-01 2.3118627759451002012802689e-01 5.6422440118465466696306976e-01 + 4.5095950602224094128089860e-01 -6.5182594771418922441341692e-01 2.3116212890039344873827076e-01 5.6420078693397224256500522e-01 + 4.5097689913839111852666974e-01 -6.5184347073231008184990287e-01 2.3113812602832334297531247e-01 5.6417647310331220378287753e-01 + 4.5099352919249668936174658e-01 -6.5186123546959962027358415e-01 2.3111370012126117301498596e-01 5.6415266013270193301565314e-01 + 4.5101008603278053277207960e-01 -6.5187871763080129650091976e-01 2.3108951195622487451153404e-01 5.6412913172478518220032129e-01 + 4.5102630287244699358595312e-01 -6.5189606713228898104972586e-01 2.3106543448400662654762527e-01 5.6410598007943801857067001e-01 + 4.5104276089762712631525687e-01 -6.5191357172569142086615557e-01 2.3104128822376648888514694e-01 5.6408248153758555609726955e-01 + 4.5105959038729992460758922e-01 -6.5193100084837163343820521e-01 2.3101718229116574576664789e-01 5.6405875362299973119206697e-01 + 4.5107556871375953377878432e-01 -6.5194793175432452780881931e-01 2.3099318434482074557934084e-01 5.6403623498588884022098000e-01 + 4.5109250257548172413635257e-01 -6.5196553315310512566327361e-01 2.3096885546105569431141191e-01 5.6401230971281668402639298e-01 + 4.5110762180773250618059933e-01 -6.5198244610829625411696497e-01 2.3094620731557125026256472e-01 5.6398994037142846647014949e-01 + 4.5112479952582767994684332e-01 -6.5199991267921530990747669e-01 2.3092209710319616666751585e-01 5.6396588034076977624664551e-01 + 4.5114273414072125767404486e-01 -6.5201729006979136649135853e-01 2.3089860460765840310948249e-01 5.6394106187820391973275491e-01 + 4.5116028838010191481799893e-01 -6.5203493459353401018319119e-01 2.3087442772990993122839143e-01 5.6391651587692981362209821e-01 + 4.5117672680562470599596736e-01 -6.5205296547459701272941857e-01 2.3085088271967066364531718e-01 5.6389215400845527081941100e-01 + 4.5119274406739517946363094e-01 -6.5207091853601628628211984e-01 2.3082788900017250921514744e-01 5.6386799036676515939348064e-01 + 4.5120949036507035367904450e-01 -6.5208853014665291158991067e-01 2.3080379146516627475449468e-01 5.6384408704975819137672488e-01 + 4.5122683743017655277895983e-01 -6.5210644979764853523818147e-01 2.3077905341529783567189327e-01 5.6381960574265888030964788e-01 + 4.5124458064775635479648486e-01 -6.5212378896292855223748575e-01 2.3075502034897701908455758e-01 5.6379518700358532967698011e-01 + 4.5126272696351754643018239e-01 -6.5214075699598028634795810e-01 2.3073098755475221488531190e-01 5.6377087163152428406220906e-01 + 4.5127989619432262724529892e-01 -6.5215845477887512959824790e-01 2.3070638558156675301802352e-01 5.6374672398441560972059960e-01 + 4.5129690259830468335167097e-01 -6.5217605630782082837271219e-01 2.3068156850261384294142886e-01 5.6372290288503290600630180e-01 + 4.5131413573565959396205471e-01 -6.5219346999425820143869714e-01 2.3065723786907332826245920e-01 5.6369891538003946696022695e-01 + 4.5133070515802131694726995e-01 -6.5221141160414264348332836e-01 2.3063370722384576860797267e-01 5.6367451800403423067820086e-01 + 4.5134692652477881313899388e-01 -6.5222979795643098999136100e-01 2.3061013313838515936815554e-01 5.6364989937748199988476472e-01 + 4.5136393773647287552819307e-01 -6.5224781955757182849708897e-01 2.3058562145512634389277196e-01 5.6362545078409309606826127e-01 + 4.5137981251091902068495187e-01 -6.5226605267026882550851496e-01 2.3056158367476603521240008e-01 5.6360147047797692909654188e-01 + 4.5139676409489409847353159e-01 -6.5228314546673893392636501e-01 2.3053782151109161735469399e-01 5.6357783167686403835716646e-01 + 4.5141413547519337878810575e-01 -6.5230028411109286512470362e-01 2.3051337525919690651932115e-01 5.6355408034046206022793513e-01 + 4.5143158685216600023437650e-01 -6.5231778373709237150990248e-01 2.3048919563659173159742011e-01 5.6352973489183388888790205e-01 + 4.5144865041711706998839304e-01 -6.5233549541355329015601683e-01 2.3046430109020313303780370e-01 5.6350574387766605433114364e-01 + 4.5146588730134773470581422e-01 -6.5235303925709886563311102e-01 2.3043967320823297018073106e-01 5.6348169605313347396702284e-01 + 4.5148278685940901322481977e-01 -6.5237079334852210443784770e-01 2.3041563884570454012745699e-01 5.6345742920899266614753742e-01 + 4.5149920141488436575727405e-01 -6.5238889752390005760673830e-01 2.3039155851514947492830743e-01 5.6343316131927556611458385e-01 + 4.5151620070114734106780929e-01 -6.5240666571108518745347737e-01 2.3036714985174358560904295e-01 5.6340894500294347313484877e-01 + 4.5153219136527017463222933e-01 -6.5242473206788220707608161e-01 2.3034309066624675255141597e-01 5.6338504570972647300663994e-01 + 4.5154955756015519030555083e-01 -6.5244227757300776726623326e-01 2.3031882307465462167428427e-01 5.6336072923135160905871999e-01 + 4.5156666907172215985610819e-01 -6.5245867195968887397583558e-01 2.3029582770828049831379758e-01 5.6333742686619614481458029e-01 + 4.5158375214936680164257155e-01 -6.5247577184779803616265781e-01 2.3027239407636693191427923e-01 5.6331350638224342297633029e-01 + 4.5160115347218987569277715e-01 -6.5249299146798878101805030e-01 2.3025002526943247338486742e-01 5.6328875377657638967576759e-01 + 4.5161874382734440436237833e-01 -6.5251021789049290511286472e-01 2.3022718904979638798735664e-01 5.6326402973609313029612622e-01 + 4.5163583097561349477544468e-01 -6.5252751251770124696349740e-01 2.3020319427643923249071634e-01 5.6324010060661711118967787e-01 + 4.5165236686470688898253911e-01 -6.5254490265771603052513683e-01 2.3017916013337938463401144e-01 5.6321651588108856412162595e-01 + 4.5166969139880502881467805e-01 -6.5256261684651384324951096e-01 2.3015477470147382987875062e-01 5.6319206372981855945880625e-01 + 4.5168767785048341556475293e-01 -6.5258024859348440216422205e-01 2.3012889618636550581598499e-01 5.6316778313727178240100102e-01 + 4.5170517751031025177610445e-01 -6.5259790272628048768410736e-01 2.3010444757136361282334747e-01 5.6314327943740649651260810e-01 + 4.5172350265748090203388188e-01 -6.5261542906062441904424531e-01 2.3007948504800013189708352e-01 5.6311846840511403655682443e-01 + 4.5174129239291738180384073e-01 -6.5263302045010307406158745e-01 2.3005493571904292449126217e-01 5.6309383935242918184371774e-01 + 4.5175838595610240400191060e-01 -6.5265068694022376760699444e-01 2.3003160586641996365742102e-01 5.6306918034759079194628839e-01 + 4.5177535756288056401075437e-01 -6.5266802392237022178989037e-01 2.3000861292948879266440088e-01 5.6304486040319434714263025e-01 + 4.5179328890201275736870912e-01 -6.5268471453551579752883072e-01 2.2998510326072074683168012e-01 5.6302072767612243442414410e-01 + 4.5181240283663132162317311e-01 -6.5270121928852309345359117e-01 2.2996118796761561009489583e-01 5.6299602397422643385027641e-01 + 4.5182980729367255845474460e-01 -6.5271886120639288630940200e-01 2.2993689788271329255131548e-01 5.6297152366568892212228548e-01 + 4.5184726785243434221683856e-01 -6.5273537577427520606221378e-01 2.2991229997025297571155988e-01 5.6294840799978718148821599e-01 + 4.5186480300267956033977157e-01 -6.5275288784981411183139244e-01 2.2988797854084427885190678e-01 5.6292395981471798904749448e-01 + 4.5188134939436330750339721e-01 -6.5276992646039888601450230e-01 2.2986458667404860434224645e-01 5.6290047163915546413193169e-01 + 4.5189834910825599223471727e-01 -6.5278722967178259839471366e-01 2.2984103760887497625020615e-01 5.6287637388821720740850196e-01 + 4.5191598278662520327131347e-01 -6.5280437855832196270000622e-01 2.2981784738010882507275312e-01 5.6285179653498040863723872e-01 + 4.5193373136846309856551329e-01 -6.5282156392961077084891031e-01 2.2979453417270148674056429e-01 5.6282713170584286466180401e-01 + 4.5195114542075981445279353e-01 -6.5283913335601362337712317e-01 2.2977012534115490161035211e-01 5.6280273419071291662874046e-01 + 4.5196823974740774065850246e-01 -6.5285658493372900057494235e-01 2.2974510786400095807557875e-01 5.6277897542539490061130891e-01 + 4.5198530670071418446909206e-01 -6.5287350118932740983268559e-01 2.2972145076200209401484642e-01 5.6275530120226502361902021e-01 + 4.5200151830099249972150233e-01 -6.5289140062385475626882680e-01 2.2969755300408786768961988e-01 5.6273126853672628122637889e-01 + 4.5201916867831420931977959e-01 -6.5290880522292404908313301e-01 2.2967333353232308179592280e-01 5.6270678250212147197828472e-01 + 4.5203741610224623670433175e-01 -6.5292480244607120631883390e-01 2.2965128724979419483354093e-01 5.6268255976072012458644167e-01 + 4.5205522031557060502748868e-01 -6.5294164588210756861030859e-01 2.2962834325277964309108825e-01 5.6265807452945071354122319e-01 + 4.5207264772129246432896821e-01 -6.5295874301219680724273076e-01 2.2960434794149267578866613e-01 5.6263402360020331460788157e-01 + 4.5209016281358904709719582e-01 -6.5297574464785923531451317e-01 2.2958008387506889658169484e-01 5.6261011960030815615141364e-01 + 4.5210768774516102430638398e-01 -6.5299325496943916302683419e-01 2.2955631651205024579276426e-01 5.6258541146705953739370898e-01 + 4.5212464785031969416451147e-01 -6.5301090023108943061203036e-01 2.2953403115838799664061298e-01 5.6256039278088787458642628e-01 + 4.5214210415297556577840510e-01 -6.5302822545683936183991136e-01 2.2951020132449434507648789e-01 5.6253597386905063171269603e-01 + 4.5215818888071823700158802e-01 -6.5304525622412401553162908e-01 2.2948800294237664543217647e-01 5.6251233058200311720753461e-01 + 4.5217516274261476683093974e-01 -6.5306249365864488254374010e-01 2.2946468719564230842600239e-01 5.6248818556948210201085203e-01 + 4.5219286450763007678688155e-01 -6.5307848706363891277959510e-01 2.2944130189500264171975630e-01 5.6246492513558465908829476e-01 + 4.5221073867301131432583361e-01 -6.5309512991188811703580086e-01 2.2941755010785744306467393e-01 5.6244091851206223786618921e-01 + 4.5222702755013044484400098e-01 -6.5311310474129091740991271e-01 2.2939363248157684793682165e-01 5.6241670436187485293544341e-01 + 4.5224268045422311157466311e-01 -6.5313123825839569658313621e-01 2.2936968807918522994526711e-01 5.6239282514723787365085172e-01 + 4.5226013497598888113415683e-01 -6.5314850280128933235346267e-01 2.2934556672648723218976841e-01 5.6236857542259677256168970e-01 + 4.5227705291753772520735311e-01 -6.5316574958338968759363752e-01 2.2932179860194973342046865e-01 5.6234463068599005453052087e-01 + 4.5229456642856669112973123e-01 -6.5318319299033256175590623e-01 2.2929804837217704349683345e-01 5.6231996815590656879635389e-01 + 4.5231108654860774365147336e-01 -6.5320111174554840172135073e-01 2.2927488388227174054279089e-01 5.6229531050896042199127578e-01 + 4.5232869075156861837783140e-01 -6.5321854466852224962991613e-01 2.2925081632884017346363237e-01 5.6227071027812758341468680e-01 + 4.5234564008702493609348494e-01 -6.5323647753975222496336528e-01 2.2922657198692475422063808e-01 5.6224612493181269634590080e-01 + 4.5236243411465537622717648e-01 -6.5325412372302771313314906e-01 2.2920290746265117864943761e-01 5.6222175807361884913859740e-01 + 4.5237885878257788618839186e-01 -6.5327211500349158246336856e-01 2.2917987094673394898869390e-01 5.6219702830793738534964632e-01 + 4.5239506574456600507261328e-01 -6.5329072220281880767345228e-01 2.2915674268075594821603147e-01 5.6217179229985869692853839e-01 + 4.5241254698453020610671160e-01 -6.5330800650062226253567133e-01 2.2913291447349451446235946e-01 5.6214735032554885574285208e-01 + 4.5243002716928781836713824e-01 -6.5332425352376299887424693e-01 2.2910959664294813786789007e-01 5.6212390360072861383855525e-01 + 4.5244789386901645977800968e-01 -6.5334153104684700164028754e-01 2.2908559037541240122060060e-01 5.6209922560452074691283997e-01 + 4.5246494656282265633961970e-01 -6.5335875872857884782973770e-01 2.2906433894007749429988507e-01 5.6207413492394253662354231e-01 + 4.5248258233878174694453378e-01 -6.5337583773616647597748397e-01 2.2904134138119519592535767e-01 5.6204945625887148263899462e-01 + 4.5250043982562837552308110e-01 -6.5339302269400290068546155e-01 2.2901761956390276342432344e-01 5.6202476794327371756310185e-01 + 4.5251810251324697809138797e-01 -6.5341038170838861010025767e-01 2.2899366761276265802571572e-01 5.6200012470351312643401798e-01 + 4.5253596775084631298469162e-01 -6.5342797170193411826488727e-01 2.2896941695192243870771165e-01 5.6197516830372329366127815e-01 + 4.5255413206649175439366672e-01 -6.5344552531966482167291588e-01 2.2894531447383970057529723e-01 5.6194994970168499204277168e-01 + 4.5257142632496444312195649e-01 -6.5346245947348957638922684e-01 2.2892231266969548242329324e-01 5.6192570051120072083250534e-01 + 4.5258854865536957134963814e-01 -6.5348000264335803777271394e-01 2.2889914732012964226903762e-01 5.6190094512056176778713734e-01 + 4.5260637197130465514405273e-01 -6.5349735009908449523408080e-01 2.2887507988169100703323977e-01 5.6187621703859047528339943e-01 + 4.5262375963253587141110756e-01 -6.5351429942339556156127856e-01 2.2885031982228731806117139e-01 5.6185258189537023998383347e-01 + 4.5264144289397101328376039e-01 -6.5353158812702916158343669e-01 2.2882619508234194882767554e-01 5.6182805193329843351790487e-01 + 4.5265915047466809273402077e-01 -6.5354887024473651280231934e-01 2.2880257400154382918522344e-01 5.6180330172013814848952507e-01 + 4.5267676257984101884090933e-01 -6.5356614563028059272653536e-01 2.2877887270495697591421447e-01 5.6177866576620927308027831e-01 + 4.5269434512877315679446610e-01 -6.5358323206905200031258119e-01 2.2875569710619300667353571e-01 5.6175405622751184431251659e-01 + 4.5271196134233998575879809e-01 -6.5359993078863642956832791e-01 2.2873351947953182716766207e-01 5.6172946121524369722521897e-01 + 4.5272956390725022091103824e-01 -6.5361705235068501274042774e-01 2.2870988429957248011525905e-01 5.6170497564507060328509169e-01 + 4.5274635082390746187996911e-01 -6.5363415213361031330663309e-01 2.2868636617901480501124922e-01 5.6168112208267173546261120e-01 + 4.5276375087972703381566930e-01 -6.5365133111807405263959936e-01 2.2866308030086043845408028e-01 5.6165658451068889434054654e-01 + 4.5278207282168642100472766e-01 -6.5366839132907506026981537e-01 2.2863959766699484821295130e-01 5.6163151895814333869338952e-01 + 4.5279994720631078219952315e-01 -6.5368573283513620175710912e-01 2.2861581526173108125377098e-01 5.6160660565022502144216787e-01 + 4.5281629814327312155697314e-01 -6.5370316157745778085086386e-01 2.2859326034918839298804016e-01 5.6158231631915456194548142e-01 + 4.5283286323639926340689499e-01 -6.5372044316929622809198008e-01 2.2857078210459974565438301e-01 5.6155799141651874251124354e-01 + 4.5285043239823902228025077e-01 -6.5373770831050981300336389e-01 2.2854782983621904635107569e-01 5.6153306588909368546325140e-01 + 4.5286721336435870055581177e-01 -6.5375520513346108142371804e-01 2.2852594917146262787355226e-01 5.6150806706207589957813298e-01 + 4.5288462329154577368228729e-01 -6.5377250993798807776613558e-01 2.2850230753398217964367234e-01 5.6148349814318099237908655e-01 + 4.5290261371483425678619028e-01 -6.5378963317874139171692605e-01 2.2847936712803920689118797e-01 5.6145838388526114748344753e-01 + 4.5292046013430098394536572e-01 -6.5380670216840230946075962e-01 2.2845569596740661344469459e-01 5.6143374317140837259643149e-01 + 4.5293787125618334421517375e-01 -6.5382392544697898184580254e-01 2.2843218647564722534326620e-01 5.6140920501624802518847446e-01 + 4.5295538621244291199730014e-01 -6.5384099199390532941578158e-01 2.2840882358438113763909882e-01 5.6138470285389996394798118e-01 + 4.5297228727335869802317347e-01 -6.5385842701226437601036423e-01 2.2838544120816073323965156e-01 5.6136027168970803469250086e-01 + 4.5298906596896648668604257e-01 -6.5387609303294547125062763e-01 2.2836191836522617970572924e-01 5.6133572424449185156447584e-01 + 4.5300669225424111674627170e-01 -6.5389346091723554721397704e-01 2.2833819313726438915423955e-01 5.6131091927501297611513564e-01 + 4.5302423174775302561201329e-01 -6.5391089903079790968121188e-01 2.2831426156733983234836671e-01 5.6128618328180146512806914e-01 + 4.5304190538069921689867670e-01 -6.5392803029336854514497190e-01 2.2829034352128363405398659e-01 5.6126168782538077284272049e-01 + 4.5305898515565956596873320e-01 -6.5394409691236377035750138e-01 2.2826603977494933084280149e-01 5.6123906596802231039333719e-01 + 4.5307703272996918686388312e-01 -6.5396098654604795097355918e-01 2.2824259273367089595474511e-01 5.6121435240961003998449996e-01 + 4.5309587146703983462359133e-01 -6.5397760019357209504420325e-01 2.2822093348513930455290222e-01 5.6118859149465250002464245e-01 + 4.5311417756517763377743790e-01 -6.5399448361740164514799289e-01 2.2819831604929241564150288e-01 5.6116333276480956371301545e-01 + 4.5313288619555214253864506e-01 -6.5401091763731933337311375e-01 2.2817462744826816356535915e-01 5.6113870517736019749577281e-01 + 4.5315170482934619133885690e-01 -6.5402708902074868646536743e-01 2.2815097572573256323735791e-01 5.6111427669655578043261812e-01 + 4.5316929314822457230960140e-01 -6.5404401608811923996000814e-01 2.2812743330620699477861990e-01 5.6108991341850444900529737e-01 + 4.5318761024700632278339185e-01 -6.5406070245070657698249761e-01 2.2810326473447883888212573e-01 5.6106549354399637419277269e-01 + 4.5320583188364754745336427e-01 -6.5407768418406786459229352e-01 2.2807968869251629695504846e-01 5.6104056235265431507031053e-01 + 4.5322226217002264947453227e-01 -6.5409382967100315742214889e-01 2.2805773999095171888917832e-01 5.6101738858080640870440448e-01 + 4.5323978792607394483482608e-01 -6.5411086627501202617196441e-01 2.2803440099296728993394368e-01 5.6099285309659663312231714e-01 + 4.5325822572116986064472144e-01 -6.5412728536243169852326673e-01 2.2801123748471877061838597e-01 5.6096822632049325729752809e-01 + 4.5327653769179082621221255e-01 -6.5414402943146876534541434e-01 2.2798792661651520741195043e-01 5.6094337900933177731843671e-01 + 4.5329459358297230497925057e-01 -6.5416071412864418288535262e-01 2.2796476406472981901529806e-01 5.6091874443992562060401497e-01 + 4.5331264412913196970578156e-01 -6.5417711409531920097037982e-01 2.2794172805611648269241698e-01 5.6089439173285216000408582e-01 + 4.5333050927587514866701213e-01 -6.5419402662851944274535754e-01 2.2791799676594640122750945e-01 5.6086987049888648027007321e-01 + 4.5334815888654794724388353e-01 -6.5420953651829771846593076e-01 2.2789477335161989479672684e-01 5.6084695010466545372906921e-01 + 4.5336543085795744101318405e-01 -6.5422607030252299953332340e-01 2.2787201088546504834653206e-01 5.6082295039924279222987025e-01 + 4.5338253280164103609095605e-01 -6.5424354191723721463347374e-01 2.2784896502041371291191751e-01 5.6079810622815373655214444e-01 + 4.5340037779989489363785538e-01 -6.5426076083821071982526973e-01 2.2782518580816554787382699e-01 5.6077325092214691526493198e-01 + 4.5341897424989990872390422e-01 -6.5427747017586646016695795e-01 2.2780214030146769821350006e-01 5.6074808130256448279737924e-01 + 4.5343739880641970030339394e-01 -6.5429440321231047139605153e-01 2.2777909803010873424078397e-01 5.6072278515261386733214977e-01 + 4.5345504014058929387331887e-01 -6.5431121249607371304080061e-01 2.2775604256505296851820219e-01 5.6069826898976615758840580e-01 + 4.5347227107303378357272550e-01 -6.5432755482956816983630688e-01 2.2773329785546264636408864e-01 5.6067450040687472068157149e-01 + 4.5348979693301455506926345e-01 -6.5434449233091396269657025e-01 2.2770990991862796737343899e-01 5.6065005695059200174767966e-01 + 4.5350664578186855591113158e-01 -6.5436101186815831542986643e-01 2.2768650334789899969401006e-01 5.6062665346178996994552790e-01 + 4.5352479735487527534587571e-01 -6.5437810216389780126888809e-01 2.2766277510866106403852882e-01 5.6060165752735491295766224e-01 + 4.5354274899496371808993445e-01 -6.5439494082116045348129774e-01 2.2763797762146731340493488e-01 5.6057754807534865282292458e-01 + 4.5356022314774335768561286e-01 -6.5441168234145308257865281e-01 2.2761457824151168360948816e-01 5.6055336745499728667851969e-01 + 4.5357703546485977907920528e-01 -6.5442899150903555138825141e-01 2.2759000780217353288037430e-01 5.6052953206765354643437149e-01 + 4.5359447078147169252204662e-01 -6.5444641609548470650992158e-01 2.2756529575311701396600483e-01 5.6050511211321574212007590e-01 + 4.5361215212174571531633660e-01 -6.5446377912385189645760875e-01 2.2754190938927651433054677e-01 5.6048002349226200280440935e-01 + 4.5362890516531451101656103e-01 -6.5448135317054323412122585e-01 2.2751887685982161158015913e-01 5.6045529297439777849376696e-01 + 4.5364685720405034663471611e-01 -6.5449848123834464264092503e-01 2.2749525727350691783890113e-01 5.6043034796810309305925557e-01 + 4.5366394701826978641534538e-01 -6.5451673860054015996468024e-01 2.2747119671922610972814027e-01 5.6040495780340837672639509e-01 + 4.5368147765919897285158413e-01 -6.5453397906250365689828641e-01 2.2744773301875353954670800e-01 5.6038015295529663983842283e-01 + 4.5369785326706030259558133e-01 -6.5455087973231340647828347e-01 2.2742435766255861273599237e-01 5.6035664118870609495814961e-01 + 4.5371538815800754873563960e-01 -6.5456774728358357862134653e-01 2.2740086615625212940194899e-01 5.6033227359854065330324602e-01 + 4.5373311669050658823110211e-01 -6.5458463183446036204315988e-01 2.2737823999860326540378708e-01 5.6030737507157679644365089e-01 + 4.5375068904216409038099300e-01 -6.5460140297194391312274320e-01 2.2735590774982439299378711e-01 5.6028261318032812621225958e-01 + 4.5376831574173398520244405e-01 -6.5461803930202255852321969e-01 2.2733319388623671186699937e-01 5.6025811659160151823044771e-01 + 4.5378589762484378145046549e-01 -6.5463479151063774796881489e-01 2.2731040473884764341327980e-01 5.6023354840468087001426056e-01 + 4.5380406180404397886718471e-01 -6.5465198661421053483167043e-01 2.2728672706121033630921602e-01 5.6020834839729205523184419e-01 + 4.5382115323681926355448013e-01 -6.5466945443894242195881361e-01 2.2726298262677935291264930e-01 5.6018372256519666230190069e-01 + 4.5383916477418378976338431e-01 -6.5468664724496605789028081e-01 2.2723926240348629734810970e-01 5.6015865971931211308998400e-01 + 4.5385632189760616306273278e-01 -6.5470400255117056076414883e-01 2.2721611449729342546710598e-01 5.6013386384846086674116350e-01 + 4.5387389990281007401407010e-01 -6.5472116364525945186869649e-01 2.2719273003034340385752898e-01 5.6010904677872408452543596e-01 + 4.5389136186743117562514271e-01 -6.5473842129615622553728826e-01 2.2717003473830452153769954e-01 5.6008392819089458658510239e-01 + 4.5390888188915340384355090e-01 -6.5475558770491315563333501e-01 2.2714754030761935554849629e-01 5.6005878463205183148687638e-01 + 4.5392683096669883546780966e-01 -6.5477213273338852328464554e-01 2.2712443923430891690173894e-01 5.6003426272577350175652100e-01 + 4.5394428941834302770885756e-01 -6.5478825418502062394310315e-01 2.2710177746357723682635310e-01 5.6001045254414016927313469e-01 + 4.5396177234169582392908637e-01 -6.5480506869519949919578039e-01 2.2707903338264426307269161e-01 5.5998584255449301849694166e-01 + 4.5397897792338276490298199e-01 -6.5482307921590077182116829e-01 2.2705777090147066799019626e-01 5.5995945496357346637950059e-01 + 4.5399735548886099856247256e-01 -6.5484029348166905570849394e-01 2.2703435071334515660268494e-01 5.5993392006390552140260297e-01 + 4.5401526218107812749025243e-01 -6.5485687198076580894934295e-01 2.2701222769473025642206210e-01 5.5990898135615718711477484e-01 + 4.5403309939161723418621364e-01 -6.5487356039221955583684576e-01 2.2698958663462301399427190e-01 5.5988417741127738391782032e-01 + 4.5405118843188818633649362e-01 -6.5489017312209618637552921e-01 2.2696700559142576891780152e-01 5.5985923034684581534037306e-01 + 4.5406939992110789683366079e-01 -6.5490678129981316768493116e-01 2.2694472424186368231247002e-01 5.5983406470273699984119276e-01 + 4.5408748925102615512372495e-01 -6.5492376026412146838850958e-01 2.2692169428203562420165440e-01 5.5980886471310287166858188e-01 + 4.5410547901115150271067478e-01 -6.5494066211312451653014932e-01 2.2689823681506329777768372e-01 5.5978400582107579186441626e-01 + 4.5412357387687990462055154e-01 -6.5495771549109105258423824e-01 2.2687452744973060636546336e-01 5.5975898327980644353374373e-01 + 4.5414091283267116194721780e-01 -6.5497403148670074735093749e-01 2.2685245246270485663941940e-01 5.5973477128120474599626277e-01 + 4.5415854941625599661136903e-01 -6.5499051954358322724658592e-01 2.2683013983077432440538246e-01 5.5971020980905850095155074e-01 + 4.5417649871398391159260655e-01 -6.5500742542773582322013226e-01 2.2680782262083862277357582e-01 5.5968490443143981138973686e-01 + 4.5419470871507666709376849e-01 -6.5502434956058308568316306e-01 2.2678486890233312545106514e-01 5.5965962092589205401083063e-01 + 4.5421341309428714394513804e-01 -6.5504077285583739431729100e-01 2.2676155708906145513914510e-01 5.5963466430181929567311272e-01 + 4.5423232452957496008139060e-01 -6.5505709485312624273944948e-01 2.2673835548348844626254106e-01 5.5960961034250000789569413e-01 + 4.5425095097502315999449252e-01 -6.5507395808600199504923012e-01 2.2671517243800609620052455e-01 5.5958414341565432259528734e-01 + 4.5427032919592186255286492e-01 -6.5509006873750674770917612e-01 2.2669221141354883863883174e-01 5.5955885404321192844179222e-01 + 4.5428848881008709881257346e-01 -6.5510692918838064890962869e-01 2.2666884556800367955808895e-01 5.5953383696867342589342798e-01 + 4.5430719445063966199782612e-01 -6.5512240727797088624129174e-01 2.2664591780722323499652759e-01 5.5950981447515879541043660e-01 + 4.5432556575513144414557587e-01 -6.5513913796485212515108287e-01 2.2662280697203660007055248e-01 5.5948466785790040844972282e-01 + 4.5434416679957090323682678e-01 -6.5515547546845787074687451e-01 2.2660000327619911342225123e-01 5.5945966751333298105919312e-01 + 4.5436236968299092975343001e-01 -6.5517170139828528885317382e-01 2.2657720057923835810242963e-01 5.5943511766835762877292382e-01 + 4.5438056967622914017468361e-01 -6.5518824671304853879405528e-01 2.2655440661091560961004632e-01 5.5941018949869258936047345e-01 + 4.5439932491406159753566385e-01 -6.5520503345011293916400064e-01 2.2653165694990284873000519e-01 5.5938450645223736223954347e-01 + 4.5441766075865674956446583e-01 -6.5522197273156146390959975e-01 2.2650847936305254504141260e-01 5.5935915547797088187564896e-01 + 4.5443592543391819749132310e-01 -6.5523896296793227023158579e-01 2.2648557538795172083823104e-01 5.5933368861969656737898049e-01 + 4.5445412385864597526463626e-01 -6.5525598799681195050226279e-01 2.2646234364217740497871034e-01 5.5930836433427733034307039e-01 + 4.5447239323017252221603712e-01 -6.5527205182269587790955256e-01 2.2643989761596655663211664e-01 5.5928378723094074320698610e-01 + 4.5449059748270242975465294e-01 -6.5528859448999410286518241e-01 2.2641694280279092699181831e-01 5.5925890492953433952294517e-01 + 4.5450925491598770378232075e-01 -6.5530517283379452475600146e-01 2.2639497082571868880052079e-01 5.5923321149392257733978795e-01 + 4.5452798427263735314696191e-01 -6.5532181128034683315064512e-01 2.2637279302297752536787812e-01 5.5920746932804366036151578e-01 + 4.5454647629350014570448479e-01 -6.5533864319256540653668708e-01 2.2634974533168733534793660e-01 5.5918204228674095457307658e-01 + 4.5456480500653179133152548e-01 -6.5535543330309053988713686e-01 2.2632676887238581397987502e-01 5.5915676494278221397848938e-01 + 4.5458281871896344394912148e-01 -6.5537196257578023139700463e-01 2.2630391839843830292799964e-01 5.5913199525032120096312838e-01 + 4.5460076388410441960985509e-01 -6.5538964867420979043544094e-01 2.2628000594067504414041991e-01 5.5910635195655999929442714e-01 + 4.5461891389758191106551521e-01 -6.5540685219218641766047995e-01 2.2625673244879354606418076e-01 5.5908084589592910162991757e-01 + 4.5463574116140148539955135e-01 -6.5542389856982086193681880e-01 2.2623309564620974754234339e-01 5.5905674352116829783909679e-01 + 4.5465384428638283553780752e-01 -6.5544065098212178632763880e-01 2.2620975358268036181641492e-01 5.5903182583803656680032645e-01 + 4.5467131125426107907117057e-01 -6.5545700084579905375647968e-01 2.2618638826410719655513049e-01 5.5900790381585807597986104e-01 + 4.5468884989713675981448660e-01 -6.5547346267986639212210775e-01 2.2616299843507928213348634e-01 5.5898379908592987774795802e-01 + 4.5470735034706122323910904e-01 -6.5549017466437176082649785e-01 2.2613991774811967316871630e-01 5.5895849046212753297169229e-01 + 4.5472570244310056564174261e-01 -6.5550667107877147454786382e-01 2.2611720322326064880336105e-01 5.5893340400744218054995827e-01 + 4.5474413787223399996406670e-01 -6.5552329614261384271856059e-01 2.2609428005701623365375497e-01 5.5890818012501963796268001e-01 + 4.5476169262830479222969871e-01 -6.5554072389057549408164505e-01 2.2607085728324316509230130e-01 5.5888293025112090184336466e-01 + 4.5477927888417835067258466e-01 -6.5555732243918252155623350e-01 2.2604810759196997116404759e-01 5.5885835195337785208380410e-01 + 4.5479605281151835871611411e-01 -6.5557493654679455108436059e-01 2.2602568317071961012665327e-01 5.5883310877751191103612882e-01 + 4.5481404962941684999577774e-01 -6.5559209591866685062910847e-01 2.2600279009296342369594868e-01 5.5880759023017556597068278e-01 + 4.5483206841219414595656190e-01 -6.5560836722832460665699728e-01 2.2597976161266380978887014e-01 5.5878314729918154846188827e-01 + 4.5484994201126938140333777e-01 -6.5562463324668840414233273e-01 2.2595670500990000517660405e-01 5.5875883706081952428945669e-01 + 4.5486819493327379504421515e-01 -6.5564134972329102257759814e-01 2.2593357695567900522704008e-01 5.5873371526620707605559346e-01 + 4.5488610478794766489585299e-01 -6.5565775985542429360464212e-01 2.2591071908774815191200958e-01 5.5870911985886861916839052e-01 + 4.5490424083617136963297867e-01 -6.5567445094392229343327472e-01 2.2588790552052179227970896e-01 5.5868398955778630909918547e-01 + 4.5492049375359078222658127e-01 -6.5569169538546212550045311e-01 2.2586478102277293689148507e-01 5.5865986580303239605882482e-01 + 4.5493887221428136458101221e-01 -6.5570856563420265583630453e-01 2.2584169600427039803491880e-01 5.5863443131286572018723291e-01 + 4.5495688609305984240194221e-01 -6.5572479849883469338323039e-01 2.2581894309545511023706865e-01 5.5860990446770708572898911e-01 + 4.5497471183468252142745314e-01 -6.5574114137083228115443490e-01 2.2579634232791803705175937e-01 5.5858533716519931378030606e-01 + 4.5499292528282619940682707e-01 -6.5575740547727390250543067e-01 2.2577394506008641172911666e-01 5.5856046121820679406511090e-01 + 4.5501149714220040509715659e-01 -6.5577367254037921551201862e-01 2.2575144015106554662430938e-01 5.5853533025318691240812541e-01 + 4.5502966860542898297481429e-01 -6.5579031609047111484045445e-01 2.2572903365636728945098355e-01 5.5851004053226849244140340e-01 + 4.5504705380368931644241570e-01 -6.5580685792810733403257473e-01 2.2570804569998595412450015e-01 5.5848493446586267019426941e-01 + 4.5506545055379432618281044e-01 -6.5582364858401409613009037e-01 2.2568511963660459196390207e-01 5.5845949221482071855859886e-01 + 4.5508409899238277951383225e-01 -6.5583932383018628264892413e-01 2.2566303980834587217252363e-01 5.5843480964810243705187531e-01 + 4.5510253890676927168712496e-01 -6.5585591959689604202310420e-01 2.2564023352396417321230615e-01 5.5840950638897024482787401e-01 + 4.5512103881208648692435759e-01 -6.5587245698180796082965571e-01 2.2561699782747088316448014e-01 5.5838439313305743283422089e-01 + 4.5513967925483123089236415e-01 -6.5588906332514285146828570e-01 2.2559385734858991567897135e-01 5.5835904264627111981411645e-01 + 4.5515828760766463556564076e-01 -6.5590586462722300087335725e-01 2.2557183822176049559082855e-01 5.5833303302861214678642909e-01 + 4.5517656389620259060890817e-01 -6.5592261319671807395792484e-01 2.2555039071721016963323336e-01 5.5830712195363274563675304e-01 + 4.5519512918369992027223248e-01 -6.5593884180775008374553181e-01 2.2552788362089087881301452e-01 5.5828201107041242057249519e-01 + 4.5521656352431105752032181e-01 -6.5595428822716139727333484e-01 2.2550522613283272010953340e-01 5.5825553739868538638546624e-01 + 4.5523480612521211030596646e-01 -6.5597106981629882405115950e-01 2.2548241704316931977025718e-01 5.5823015545612675314401940e-01 + 4.5525202008598741887368533e-01 -6.5598842225938247540995008e-01 2.2546101486174185968280881e-01 5.5820437014303947442783738e-01 + 4.5527041779335136739703671e-01 -6.5600528358221044111786568e-01 2.2543852798979296947479156e-01 5.5817863152604307863668964e-01 + 4.5528850498558232073875729e-01 -6.5602119357588040138296037e-01 2.2541673278379609213217805e-01 5.5815398179028441472127042e-01 + 4.5530677507820921379178003e-01 -6.5603732190514441047213268e-01 2.2539439961739554663111562e-01 5.5812914048320450000062465e-01 + 4.5532507560819263092710685e-01 -6.5605372127661798486997213e-01 2.2537230719680226287415792e-01 5.5810385545190921430247499e-01 + 4.5534317278079539104140849e-01 -6.5606999314524827582317812e-01 2.2535102382277280574918166e-01 5.5807855644016723939415670e-01 + 4.5536153829231645895347924e-01 -6.5608663419556378926245088e-01 2.2532848341338820863377634e-01 5.5805310897495619126829070e-01 + 4.5537848460903923575315844e-01 -6.5610338956606173432817286e-01 2.2530614807886284456373005e-01 5.5802859926079506625029580e-01 + 4.5539656198300532130573970e-01 -6.5611982791841672035815236e-01 2.2528342701068287956545078e-01 5.5800369197765042894587850e-01 + 4.5541433181538143459832213e-01 -6.5613655135797066542124867e-01 2.2526076071134548683971843e-01 5.5797867524930078175771087e-01 + 4.5543288799456188575831561e-01 -6.5615323776373868369660158e-01 2.2523791056044670244595807e-01 5.5795313132149348955834967e-01 + 4.5545199727138752088251294e-01 -6.5616965939778681971006336e-01 2.2521508138793538966737628e-01 5.5792743558882496035522536e-01 + 4.5547086442107465042994363e-01 -6.5618608194336014438619031e-01 2.2519250642754101709996917e-01 5.5790183059049280878127774e-01 + 4.5548917557064017014312185e-01 -6.5620263847328486050969332e-01 2.2517010958011021704017196e-01 5.5787644685033888070080366e-01 + 4.5550741293355045957724769e-01 -6.5621924165949585550094980e-01 2.2514745921940806927530332e-01 5.5785116764730835470231796e-01 + 4.5552620412931044135973480e-01 -6.5623572614173952821658986e-01 2.2512422093249737087283791e-01 5.5782580994097241688933764e-01 + 4.5554501220737159128404414e-01 -6.5625073315404869322975401e-01 2.2510133623578618133898033e-01 5.5780203075340506480017666e-01 + 4.5556348555200831818012830e-01 -6.5626757514409472804572943e-01 2.2507862247158483270936813e-01 5.5777629400368822221167875e-01 + 4.5558054571029049650832121e-01 -6.5628449170337643803208039e-01 2.2505603763878703760248357e-01 5.5775156856998975296590970e-01 + 4.5559846643944901245504298e-01 -6.5630076769845724360408212e-01 2.2503373906139231830358938e-01 5.5772677538422643639393073e-01 + 4.5561768469893532129688651e-01 -6.5631675323446625469614446e-01 2.2501091726415303750918895e-01 5.5770147204870690327283000e-01 + 4.5563689888989333809377058e-01 -6.5633303988055413658031512e-01 2.2498784383594508384796029e-01 5.5767591597378907142257276e-01 + 4.5565480735035041037761516e-01 -6.5634942694829756515417785e-01 2.2496540834974246281241506e-01 5.5765104799434395133062026e-01 + 4.5567200306535410314623391e-01 -6.5636547314518500773061760e-01 2.2494351194755432543637141e-01 5.5762694314210270452036866e-01 + 4.5569040297560853280955939e-01 -6.5638218777154799798978502e-01 2.2492072032367749212511399e-01 5.5760142555524527807619961e-01 + 4.5570730142076942836837361e-01 -6.5639855311314754260365589e-01 2.2489824654369069967252415e-01 5.5757741489800283218869481e-01 + 4.5572593272260936148043697e-01 -6.5641502031883969259240530e-01 2.2487577232444652675091845e-01 5.5755186517974142379472369e-01 + 4.5574459710607079232502770e-01 -6.5643147917501687427233037e-01 2.2485227064852508771508610e-01 5.5752670944173354783401919e-01 + 4.5576320263906677787701938e-01 -6.5644826232002495558504052e-01 2.2482893202545489730326267e-01 5.5750115097773034200656639e-01 + 4.5578112654069291576064415e-01 -6.5646523495765396472023667e-01 2.2480587065897958409799173e-01 5.5747581158158543424008258e-01 + 4.5579890841215536800845598e-01 -6.5648186811791486849898547e-01 2.2478335961715528723559032e-01 5.5745076299340101666501823e-01 + 4.5581717476727390270241358e-01 -6.5649840727913721938335812e-01 2.2476103605968306142770530e-01 5.5742535024567574364340317e-01 + 4.5583550507838294096885079e-01 -6.5651583848435590695657993e-01 2.2473772020696108908666133e-01 5.5739923147174919026980433e-01 + 4.5585420186760106098233791e-01 -6.5653256560512496253778636e-01 2.2471510909164271740934282e-01 5.5737335483994543405827926e-01 + 4.5587388388869037880724022e-01 -6.5654894729940460607053865e-01 2.2469214792411126846438663e-01 5.5734721713626045325185032e-01 + 4.5589253048963573888840983e-01 -6.5656555299406216263946590e-01 2.2466927906463488029409348e-01 5.5732162196521273234139926e-01 + 4.5591076532987251379580584e-01 -6.5658136039672254646859528e-01 2.2464791411747625504702341e-01 5.5729669469555120908665913e-01 + 4.5592913209836716248446464e-01 -6.5659772216567391378561069e-01 2.2462585492337910908489107e-01 5.5727128317437946147805405e-01 + 4.5594738237482546061585253e-01 -6.5661457947916002098054378e-01 2.2460276170156801001098756e-01 5.5724579671539842262717457e-01 + 4.5596572656045797344859238e-01 -6.5663137924501635556140400e-01 2.2457963362340041535425428e-01 5.5722031204413258187457814e-01 + 4.5598462153529056850587153e-01 -6.5664782870713611639956753e-01 2.2455694485211211142150489e-01 5.5719460917726659765492059e-01 + 4.5600361155739749241533332e-01 -6.5666379758872372995881506e-01 2.2453404012512495624420694e-01 5.5716947871186794927211849e-01 + 4.5602211138774495502445916e-01 -6.5667967659049919504354875e-01 2.2451170698646688572708285e-01 5.5714462189316993345755691e-01 + 4.5604061034383408523851244e-01 -6.5669555459276185427341943e-01 2.2448937362232068704059884e-01 5.5711976398794760267918491e-01 + 4.5605983786154857817507491e-01 -6.5671157405538993501181722e-01 2.2446693989290011916892809e-01 5.5709418026623436226429931e-01 + 4.5607918052232282457580936e-01 -6.5672761513502508901041210e-01 2.2444448999181304538197423e-01 5.5706848010407450377812211e-01 + 4.5610138486401674562387143e-01 -6.5674206912715649142597840e-01 2.2441955699209903407620459e-01 5.5704330514168953758513680e-01 + 4.5612547872244402213937065e-01 -6.5675547447763660269259844e-01 2.2439298395430781751791471e-01 5.5701847649423397168533256e-01 + 4.5614833257879477956819869e-01 -6.5676904097847732533210774e-01 2.2436706281591503597816484e-01 5.5699420699066126694276591e-01 + 4.5616880275907861763684537e-01 -6.5678291865687421502428833e-01 2.2434239572213612867734867e-01 5.5697101417538696921383234e-01 + 4.5618875581451334699778499e-01 -6.5679722080567448649901507e-01 2.2431809576530661876070383e-01 5.5694759333583210292317744e-01 + 4.5620283435846836761484724e-01 -6.5681636308167390403411900e-01 2.2429797558405376034507128e-01 5.5692158986733308889682803e-01 + 4.5621691204552705656283251e-01 -6.5683550438510496238819769e-01 2.2427785520361701032676649e-01 5.5689558537312378039274563e-01 + 4.5623385024629836692611207e-01 -6.5685458181468203697761510e-01 2.2425755674564759600819741e-01 5.5686738141228042664465647e-01 + 4.5625140897407429063648010e-01 -6.5687364446166796039250357e-01 2.2423721941086730002901106e-01 5.5683869877344260856943947e-01 + 4.5626914410262131571727195e-01 -6.5689086776841598691589752e-01 2.2421644530449530430260552e-01 5.5681221398002311850916612e-01 + 4.5628701722280984309776386e-01 -6.5690665109628831874744037e-01 2.2419532925987400995282428e-01 5.5678744956888848172127382e-01 + 4.5630562338491498231007881e-01 -6.5692179244110915359300407e-01 2.2417339407304159859535275e-01 5.5676316874685372049214038e-01 + 4.5632594081366911753505633e-01 -6.5693543729993897350993848e-01 2.2414954810852108502139401e-01 5.5674001746129553325204142e-01 + 4.5634621881306752788631798e-01 -6.5694926064751568706157059e-01 2.2412578442792893684831768e-01 5.5671665168581419003146493e-01 + 4.5636555234742914866075125e-01 -6.5696747345736394851911655e-01 2.2410403917246327076817636e-01 5.5668806442770157882904414e-01 + 4.5638488486059913817882716e-01 -6.5698568508282917388640954e-01 2.2408229365091977824953062e-01 5.5665947592685982581173221e-01 + 4.5640421737376912769690307e-01 -6.5700389670829439925370252e-01 2.2406054812937628573088489e-01 5.5663088742601807279442028e-01 + 4.5642354988693911721497898e-01 -6.5702210833375962462099551e-01 2.2403880260783279321223915e-01 5.5660229892517631977710835e-01 + 4.5644288240010910673305489e-01 -6.5704031995922484998828850e-01 2.2401705708628930069359342e-01 5.5657371042433456675979642e-01 + 4.5646221491327909625113080e-01 -6.5705853158469007535558148e-01 2.2399531156474580817494768e-01 5.5654512192349281374248449e-01 + 4.5648154742644908576920670e-01 -6.5707674321015530072287447e-01 2.2397356604320231565630195e-01 5.5651653342265106072517256e-01 + 4.5650087993961907528728261e-01 -6.5709495483562052609016746e-01 2.2395182052165882313765621e-01 5.5648794492180930770786063e-01 + 4.5652021245278906480535852e-01 -6.5711316646108575145746045e-01 2.2393007500011533061901048e-01 5.5645935642096755469054870e-01 + 4.5653954496595905432343443e-01 -6.5713137808655097682475343e-01 2.2390832947857183810036474e-01 5.5643076792012580167323677e-01 + 4.5655887747912904384151034e-01 -6.5714958971201620219204642e-01 2.2388658395702834558171901e-01 5.5640217941928404865592483e-01 + 4.5657820999229903335958625e-01 -6.5716780133748142755933941e-01 2.2386483843548485306307327e-01 5.5637359091844229563861290e-01 + + +SCAN_DURATION 3.4596863999999996508449840e+01 +INT_TIME 1.8769999999999999792249517e-03 + +ALONG_SCAN_PIXEL_SIZE 7.0946954300014925670625487e-03 +CROSS_SCAN_PIXEL_SIZE 7.0000000000000001457167720e-03 + +CENTER_GP 3.2498570683665473080026231e-01 1.3517025803113738025018620e+00 0.0000000000000000000000000e+00 +SENSOR_POSITION 3.2210702957228665166411474e-01 1.3229232300623343654422115e+00 2.7834964551140909316018224e+05 +MOUNTING_ANGLES 0.0000000000000000000000000e+00 0.0000000000000000000000000e+00 0.0000000000000000000000000e+00 + +TOTAL_LINES 18432 +TOTAL_SAMPLES 5000 + + + + +IKCODE -74021 +ISIS_Z_DIRECTION 1.0000000000000000000000000e+00 +OPTICAL_DIST_COEF -7.3433925920054999789132744e-03 2.8375878636241700514334166e-05 1.2841989124027100312193378e-08 +ITRANSS 0.0000000000000000000000000e+00 0.0000000000000000000000000e+00 1.4285714285713999061044888e+02 +ITRANSL 0.0000000000000000000000000e+00 1.4285714285713999061044888e+02 0.0000000000000000000000000e+00 +DETECTOR_SAMPLE_ORIGIN 2.5434609900000000379804987e+03 +DETECTOR_LINE_ORIGIN 4.3044252700000001921054604e-01 +DETECTOR_LINE_OFFSET 0.0000000000000000000000000e+00 +DETECTOR_SAMPLE_SUMMING 1.0000000000000000000000000e+00 +STARTING_SAMPLE 1.0000000000000000000000000e+00 +STARTING_LINE 1.0000000000000000000000000e+00 +STARTING_EPHEMERIS_TIME 5.1736275422839599847793579e+08 +CENTER_EPHEMERIS_TIME 5.1736277152588951587677002e+08 \ No newline at end of file diff --git a/plio/io/io_gpf.py b/plio/io/io_bae.py similarity index 62% rename from plio/io/io_gpf.py rename to plio/io/io_bae.py index ae507eaaae17271372826a493e1c099ecb7399a7..e0c3d4fb9e87d84c6c28bfa9894a35c88ab9c81d 100644 --- a/plio/io/io_gpf.py +++ b/plio/io/io_bae.py @@ -1,88 +1,139 @@ +import json +import re + import numpy as np -import pandas as pd - -def read_gpf(input_data): - """ - Read a socet gpf file into a pandas data frame - - Parameters - ---------- - input_file : str - path to the input data file - - Returns - ------- - df : pd.DataFrame - containing the gpf data with appropriate column names and indices - """ - - # Check that the number of rows is matching the expected number - with open(input_data, 'r') as f: - for i, l in enumerate(f): - if i == 1: - cnt = int(l) - elif i == 2: - col = l - break - - # Mixed types requires read as unicode - let pandas soft convert - d = np.genfromtxt(input_data, skip_header=3, dtype='unicode') - d = d.reshape(-1, 12) - - #TODO: cols should be used to dynamically generate the column names - - df = pd.DataFrame(d, columns=['point_id', 'stat', 'known', - 'lat_Y_North', 'long_X_East','ht', - 'sigma0', 'sigma1', 'sigma2', - 'res0', 'res1', 'res2']) - - # Soft conversion of numeric types to numerics, allows str in first col for point_id - df = df.apply(pd.to_numeric, errors='ignore') - - # Validate the read data with the header point count - assert int(cnt) == len(df) - - return df - -def save_gpf(df, output_file): - """ - Write a socet gpf file from a gpf-defined pandas dataframe - - Parameters - ---------- - df : pd.DataFrame - Pandas DataFrame - - output_file : str - path to the output data file - - Returns - ------- - int : success value - 0 = success, 1 = errors - """ - - # Check that file can be opened - try: - outGPF = open(output_file, 'w', newline='\r\n') - except: - print ('Unable to open output gpf file: {0}'.format(output_file)) - return 1 - - #grab number of rows in pandas dataframe - numpts = len(df) - - #Output gpf header - outGPF.write('GROUND POINT FILE\n') - outGPF.write('{0}\n'.format(numpts)) - outGPF.write('point_id,stat,known,lat_Y_North,long_X_East,ht,sig(3),res(3)\n') - - for index,row in df.iterrows(): - #Output coordinates to gpf file - outGPF.write('{0} {1} {2}\n'.format(row['point_id'], row['stat'], row['known'])) - outGPF.write('{0} {1} {2}\n'.format(row['lat_Y_North'], row['long_X_East'], row['ht'])) - outGPF.write('{0} {1} {2}\n'.format(row['sigma0'], row['sigma1'], row['sigma2'])) - outGPF.write('{0} {1} {2}\n\n'.format(row['res0'], row['res1'], row['res2'])) - - outGPF.close() - return +import pandas as pd + +def socetset_keywords_to_json(keywords, ell=None): + """ + Convert a SocetCet keywords.list file to JSON + + Parameters + ---------- + keywords : str + Path to the socetset keywords.list file + + Returns + ------- + : str + The serialized JSON string. + """ + matcher = re.compile(r'\b(?!\d)\w+\b') + numeric_matcher = re.compile(r'\W-?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?') + stream = {} + + def parse(fi): + with open(fi, 'r') as f: + for l in f: + l = l.rstrip() + if not l: + continue + matches = matcher.findall(l) + if matches: + key = matches[0] + stream[key] = [] + # Case where the kw are strings after the key + if len(matches) > 1: + stream[key] = matches[1:] + # Case where the kw are numeric types after the key + else: + nums = numeric_matcher.findall(l) + if len(nums) == 1: + stream[key] = float(nums[0]) + else: + stream[key] += map(float, nums) + else: + # Case where the values are on a newline after the key + nums = numeric_matcher.findall(l) + stream[key] += map(float, nums) + + parse(keywords) + if ell: + parse(ell) + return json.dumps(stream) + +def read_gpf(input_data): + """ + Read a socet gpf file into a pandas data frame + + Parameters + ---------- + input_file : str + path to the input data file + + Returns + ------- + df : pd.DataFrame + containing the gpf data with appropriate column names and indices + """ + + # Check that the number of rows is matching the expected number + with open(input_data, 'r') as f: + for i, l in enumerate(f): + if i == 1: + cnt = int(l) + elif i == 2: + col = l + break + + # Mixed types requires read as unicode - let pandas soft convert + d = np.genfromtxt(input_data, skip_header=3, dtype='unicode') + d = d.reshape(-1, 12) + + #TODO: cols should be used to dynamically generate the column names + + df = pd.DataFrame(d, columns=['point_id', 'stat', 'known', + 'lat_Y_North', 'long_X_East','ht', + 'sigma0', 'sigma1', 'sigma2', + 'res0', 'res1', 'res2']) + + # Soft conversion of numeric types to numerics, allows str in first col for point_id + df = df.apply(pd.to_numeric, errors='ignore') + + # Validate the read data with the header point count + assert int(cnt) == len(df) + + return df + +def save_gpf(df, output_file): + """ + Write a socet gpf file from a gpf-defined pandas dataframe + + Parameters + ---------- + df : pd.DataFrame + Pandas DataFrame + + output_file : str + path to the output data file + + Returns + ------- + int : success value + 0 = success, 1 = errors + """ + + # Check that file can be opened + try: + outGPF = open(output_file, 'w', newline='\r\n') + except: + print ('Unable to open output gpf file: {0}'.format(output_file)) + return 1 + + #grab number of rows in pandas dataframe + numpts = len(df) + + #Output gpf header + outGPF.write('GROUND POINT FILE\n') + outGPF.write('{0}\n'.format(numpts)) + outGPF.write('point_id,stat,known,lat_Y_North,long_X_East,ht,sig(3),res(3)\n') + + for index,row in df.iterrows(): + #Output coordinates to gpf file + outGPF.write('{0} {1} {2}\n'.format(row['point_id'], row['stat'], row['known'])) + outGPF.write('{0} {1} {2}\n'.format(row['lat_Y_North'], row['long_X_East'], row['ht'])) + outGPF.write('{0} {1} {2}\n'.format(row['sigma0'], row['sigma1'], row['sigma2'])) + outGPF.write('{0} {1} {2}\n\n'.format(row['res0'], row['res1'], row['res2'])) + + outGPF.close() + return \ No newline at end of file diff --git a/plio/io/io_controlnetwork.py b/plio/io/io_controlnetwork.py index b41ced34d512ff326b7edcb0062ed4868fca8969..87b877a604648018d03daedd4f8695890c28ea40 100644 --- a/plio/io/io_controlnetwork.py +++ b/plio/io/io_controlnetwork.py @@ -1,11 +1,11 @@ from time import gmtime, strftime +import pandas as pd import pvl from plio.io import ControlNetFileV0002_pb2 as cnf -from plio.utils.utils import xstr +from plio.utils.utils import xstr, find_in_dict -VERSION = 2 HEADERSTARTBYTE = 65536 DEFAULTUSERNAME = 'None' @@ -26,8 +26,24 @@ def write_filelist(lst, path="fromlist.lis"): handle.write('\n') return +class IsisControlNetwork(pd.DataFrame): -def to_isis(path, obj, serials, mode='wb', version=VERSION, + # normal properties + _metadata = ['header'] + + @property + def _constructor(self): + return IsisControlNetwork + +def from_isis(path, remove_empty=True): + + # Now get ready to work with the binary + with IsisStore(path, mode='rb') as store: + df = store.read() + + return df + +def to_isis(path, obj, serials, mode='wb', version=2, headerstartbyte=HEADERSTARTBYTE, networkid='None', targetname='None', description='None', username=DEFAULTUSERNAME, @@ -111,10 +127,8 @@ def to_isis(path, obj, serials, mode='wb', version=VERSION, buffer_header_size, points_bytes, creation_date, modified_date) - store.write(header) - class IsisStore(object): """ Class to manage IO of an ISIS control network (version 2). @@ -136,6 +150,7 @@ class IsisStore(object): 9: str, 11: None, 14: None} + self.header_attrs = [(i.name, bt[i.type]) for i in cnf._CONTROLNETFILEHEADERV0002.fields] self.point_attrs = [(i.name, bt[i.type]) for i in cnf._CONTROLPOINTFILEENTRYV0002.fields] self.measure_attrs = [(i.name, bt[i.type]) for i in cnf._CONTROLPOINTFILEENTRYV0002_MEASURE.fields] @@ -147,11 +162,55 @@ class IsisStore(object): self._open() + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, traceback): + self.close() + + def close(self): + if self._handle is not None: + self._handle.close() + self._handle = None + def _open(self): - if self._mode in ['wb', 'a']: - self._handle = open(self._path, self._mode) - else: - raise NotImplementedError + self._handle = open(self._path, self._mode) + + def read(self): + """ + Given an ISIS store, read the underlying ISIS3 compatible control network and + return an IsisControlNetwork dataframe. + """ + pvl_header = pvl.load(self._path) + header_start_byte = find_in_dict(pvl_header, 'HeaderStartByte') + header_bytes = find_in_dict(pvl_header, 'HeaderBytes') + point_start_byte = find_in_dict(pvl_header, 'PointsStartByte') + version = find_in_dict(pvl_header, 'Version') + if version == 2: + point_attrs = [i for i in cnf._CONTROLPOINTFILEENTRYV0002.fields_by_name if i != 'measures'] + measure_attrs = [i for i in cnf._CONTROLPOINTFILEENTRYV0002_MEASURE.fields_by_name] + + cols = point_attrs + measure_attrs + + cp = cnf.ControlPointFileEntryV0002() + self._handle.seek(header_start_byte) + pbuf_header = cnf.ControlNetFileHeaderV0002() + pbuf_header.ParseFromString(self._handle.read(header_bytes)) + + self._handle.seek(point_start_byte) + cp = cnf.ControlPointFileEntryV0002() + pts = [] + for s in pbuf_header.pointMessageSizes: + cp.ParseFromString(self._handle.read(s)) + pt = [getattr(cp, i) for i in point_attrs if i != 'measures'] + + for measure in cp.measures: + meas = pt + [getattr(measure, j) for j in measure_attrs] + pts.append(meas) + df = IsisControlNetwork(pts, columns=cols) + df.header = pvl_header + return df + def write(self, data, offset=0): """ @@ -358,14 +417,3 @@ class IsisStore(object): ]) return pvl.dumps(header, cls=encoder) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, traceback): - self.close() - - def close(self): - if self._handle is not None: - self._handle.close() - self._handle = None diff --git a/plio/io/io_gdal.py b/plio/io/io_gdal.py index 5522171d467998859e1854826f59e34ef72beb13..0d44659ca8eb1147a456cbd680a7cb316a4af708 100644 --- a/plio/io/io_gdal.py +++ b/plio/io/io_gdal.py @@ -4,17 +4,22 @@ import os import warnings import affine -import gdal import numpy as np -import osr import pvl -from osgeo import ogr +try: + # Try the full GDAL stack + import gdal + from osgeo import ogr + import osr + gdal.UseExceptions() + has_gdal = True +except: + has_gdal = False from plio.io import extract_metadata from plio.geofuncs import geofuncs from plio.utils.utils import find_in_dict -gdal.UseExceptions() NP2GDAL_CONVERSION = { "uint8": 1, @@ -153,6 +158,8 @@ class GeoDataset(object): """ self.file_name = file_name + if not has_gdal: + raise ImportError('No module name gdal.') self.dataset = gdal.Open(file_name) if self.dataset is None: raise IOError('File not found :', file_name) @@ -535,7 +542,8 @@ def array_to_raster(array, file_name, projection=None, A GDAL supported bittype, e.g. GDT_Int32 Default: GDT_Float64 """ - + if not has_gdal: + raise ImportError('No module named gdal.') driver = gdal.GetDriverByName(outformat) try: y, x, bands = array.shape @@ -611,6 +619,9 @@ def match_rasters(match_to, match_from, destination, match_from__srs = match_from.dataset.GetProjection() match_from__gt = match_from.geotransform + if not has_gdal: + raise ImportError('No module named gdal.') + dst = gdal.GetDriverByName('GTiff').Create(destination, width, height, 1, gdalconst.GDT_Float64) diff --git a/plio/io/io_moon_minerology_mapper.py b/plio/io/io_moon_minerology_mapper.py index 8bd7210811a8a66d1c5119112e0bb6c3bc679797..6a8ad1e3de5b240b82ccc1a4b1fae01624184d53 100644 --- a/plio/io/io_moon_minerology_mapper.py +++ b/plio/io/io_moon_minerology_mapper.py @@ -1,18 +1,17 @@ import numpy as np -from osgeo import gdal +from .io_gdal import GeoDataset -def openm3(input_data): +def open(input_data): if input_data.split('.')[-1] == 'hdr': # GDAL wants the img, but many users aim at the .hdr input_data = input_data.split('.')[0] + '.img' - ds = gdal.Open(input_data) - ref_array = ds.GetRasterBand(1).ReadAsArray() - metadata = ds.GetMetadata() + ds = GeoDataSet(input_data) + ref_array = ds.read_array() + metadata = ds.metadata wv_array = metadatatoband(metadata) return wv_array, ref_array, ds - def metadatatoband(metadata): wv2band = [] for k, v in metadata.items(): diff --git a/plio/io/io_multibandimager.py b/plio/io/io_multibandimager.py index 7e5ba2627a240fdc980c9c25a184d93d22168e80..4401adbb237f464a2d0be2a70de77646810e3f4c 100644 --- a/plio/io/io_multibandimager.py +++ b/plio/io/io_multibandimager.py @@ -1,19 +1,9 @@ import numpy as np -from osgeo import gdal - - -def openmi(input_data): - ds = gdal.Open(input_data) - band_pointers = [] - nbands = ds.RasterCount - - for b in xrange(1, nbands + 1): - band_pointers.append(ds.GetRasterBand(b)) - - ref_array = ds.GetRasterBand(1).ReadAsArray() - wv_array = None - return wv_array, ref_array[::3, ::3], ds +from .io_gdal import GeoDataset +def open(input_data): + ds = GeoDataset(input_data) + return ds def getspectra(x, y, ds): nbands = ds.RasterCount diff --git a/plio/io/tests/test_io_gpf.py b/plio/io/tests/test_io_bae.py similarity index 65% rename from plio/io/tests/test_io_gpf.py rename to plio/io/tests/test_io_bae.py index d9752c9d92fa2f8de29433e409ce8a9aefea71ee..330361160638e0c3459aad7b17c476b59ec9048d 100644 --- a/plio/io/tests/test_io_gpf.py +++ b/plio/io/tests/test_io_bae.py @@ -1,9 +1,9 @@ +import json import numpy as np import pandas as pd from pandas.util.testing import assert_frame_equal -from plio.io.io_gpf import read_gpf -from plio.io.io_gpf import save_gpf +from plio.io.io_bae import socetset_keywords_to_json, read_gpf, save_gpf from plio.examples import get_path import pytest @@ -12,7 +12,7 @@ import pytest def insight_gpf(): return get_path('InSightE08_XW.gpf') -@pytest.fixture() +@pytest.fixture() def insight_expected(): return pd.read_csv(get_path('InSightE08_XW.csv')) @@ -20,7 +20,7 @@ def insight_expected(): def test_read_gfp(gpf, expected): df = read_gpf(gpf) assert_frame_equal(df, expected) - + @pytest.mark.parametrize('gpf', [(insight_gpf())]) def test_write_gpf(gpf): """ @@ -43,3 +43,14 @@ def test_write_gpf(gpf): truth_arr = np.genfromtxt(gpf, skip_header=3) test_arr = np.genfromtxt('out.gpf', skip_header=3) np.testing.assert_array_almost_equal(truth_arr, test_arr) + +def test_create_from_socet_lis(): + socetlis = get_path('socet_isd.lis') + socetell = get_path('ellipsoid.ell') + js = json.loads(socetset_keywords_to_json(socetlis)) + assert isinstance(js, dict) # This is essentially a JSON linter + # Manually validated + assert 'RECTIFICATION_TERMS' in js.keys() + assert 'SEMI_MAJOR_AXIS' in js.keys() # From ellipsoid file + assert 'NUMBER_OF_EPHEM' in js.keys() + assert len(js['EPHEM_PTS']) / 3 == js['NUMBER_OF_EPHEM'] \ No newline at end of file diff --git a/plio/io/tests/test_io_controlnetwork.py b/plio/io/tests/test_io_controlnetwork.py index 82c9858cd5cec755dc364648573af66ea0cf797f..fc3d05d5080296246398c00f5532537dca3b1680 100644 --- a/plio/io/tests/test_io_controlnetwork.py +++ b/plio/io/tests/test_io_controlnetwork.py @@ -10,9 +10,23 @@ from plio.io import io_controlnetwork from plio.io import ControlNetFileV0002_pb2 as cnf from plio.utils.utils import find_in_dict +from plio.examples import get_path + +import pytest + +@pytest.fixture +def apollo_cnet(): + return get_path('apollo_out.net') + sys.path.insert(0, os.path.abspath('..')) +def test_cnet_read(apollo_cnet): + df = io_controlnetwork.from_isis(apollo_cnet) + assert len(df) == find_in_dict(df.header, 'NumberOfMeasures') + assert isinstance(df, io_controlnetwork.IsisControlNetwork) + assert len(df.groupby('id')) == find_in_dict(df.header, 'NumberOfPoints') + class TestWriteIsisControlNetwork(unittest.TestCase): @classmethod diff --git a/plio/io/tests/test_io_gdal.py b/plio/io/tests/test_io_gdal.py index 0221a0871c8c53b54d186948bf7af4779eb8f68b..fbc3d1364bfd6185c16198e94c1755613adfcbcc 100644 --- a/plio/io/tests/test_io_gdal.py +++ b/plio/io/tests/test_io_gdal.py @@ -226,3 +226,12 @@ class TestWriter(unittest.TestCase): os.remove('test.tif') except: pass + +class TestWithoutGdal(unittest.TestCase): + def test_without_gdal(self): + io_gdal.has_gdal = False + with self.assertRaises(ImportError): + io_gdal.GeoDataset('foo') + + def tearDown(self): + io_gdal.has_gdal = True \ No newline at end of file