
    R1i                         d Z ddlZddlmc mZ ddlmZ ddlmZ ddl	m
Z
 d Zd Z edd	d
      Zedz  Zdez  Zdez  Zd Zy)zDSupport for the new Orbit Mean-Elements Message format for TLE data.    N)datetime)pi)WGS72c                 ,    t        j                  |       S N)csv
DictReader)files    L/home/cursorai/projects/iching/venv/lib/python3.12/site-packages/sgp4/omm.py	parse_csvr   	   s    >>$    c              #   V  K   t        j                  |       j                         }|j                  d      D ]n  }|j	                  d      }|j	                  d      }|j	                  d      }|j	                  d      }i }|||fD ]  }|j                  d |D                | p y w)Nz
.//segmentmetadatadatameanElementstleParametersc              3   L   K   | ]  }|j                   |j                  f  y wr   )tagtext).0fields     r   	<genexpr>zparse_xml.<locals>.<genexpr>   s     Gwe599ejj1ws   "$)ETparsegetrootfindallfindupdate)	r
   rootsegmentr   r   r   r   fieldselements	            r   	parse_xmlr#      s     88D>!!#D<<-<<
+||F#yy0		/2}<GMMGwGG = .s   B'B)i        g     f@g     /Ag    P?Ac                    |d   | _         |d   dd  j                  dd      | _        t        |d         | _        t        |d         | _        t        |d         | _        t        j                  |d	   d
      }|t        z
  j                         dz  }t        |d         t        z  }t        |d         }t        |d         }t        |d         t        z  }t        |d         t        z  }t        |d         t        z  }	t        |d         t        z  }
t        |d         dz  t        z  }t        |d         t        z  }t        |d         }| j!                  t"        d||||
|	||||||       y )NCLASSIFICATION_TYPE	OBJECT_ID   - EPHEMERIS_TYPEELEMENT_SET_NOREV_AT_EPOCHEPOCHz%Y-%m-%dT%H:%M:%S.%fg     @ARG_OF_PERICENTERBSTARECCENTRICITYINCLINATIONMEAN_ANOMALYMEAN_MOTION_DDOTMEAN_MOTION_DOTMEAN_MOTIONg     @RA_OF_ASC_NODENORAD_CAT_IDi)classificationreplaceintldesgintephtypeelnumrevnumr   strptime_epoch0total_secondsfloat_to_radians_nddot_units_ndot_unitsr   sgp4initr   )satr!   epoch_datetimeepochargpobstareccoinclomonddotndotno_kozainodeosatnums                 r   
initializerW      s|    56C+&qr*223;CLf-./CKF+,-CIVN+,CJ&&vg8NONg%446@E&,-.<E&/"E'(D&'(;6E	vn%	&	4B&+,-<E)*+k9DVM*+e3b8H&)*+k9E'(FLLVUE4r8U4r   )__doc__r   xml.etree.ElementTreeetreeElementTreer   r   mathr   sgp4.apir   r   r#   rC   rF   rH   rG   rW    r   r   <module>r_      sU    J 
 " "    
 4R
 5j"n!B&4r   