
    nj"                         S SK r S SKJr   " S S\5      rS rS rS r\ R                  4S jr	\
S	:X  a#  \ R                  " \	" \ R                  5      5        gg)
    N)gdalc                       \ rS rSrS rSrg)Options(   c                 J    SU l         SU l        / U l        / U l        SU l        g )Nr   )verbose_flagappendcreate_selfmetadatanegate)selfs    [/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/osgeo_utils/samples/loslas2ntv2.py__init__Options.__init__)   s'        )r	   r
   r   r   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__ r   r   r   r   (   s    r   r   c                  8   [        S5        [        S5        [        S5        [        S5        [        S5        [        S5        [        S5        [        S5        [        S	5        [        S
5        [        S5        [        S5        [        S5        [        S5        g)NzCUsage: loslas2ntv2.py  [-a] [-auto] [-sub_name name] [-parent name]zF                       [-created date] [-updated date] [-gs_type name]zK                       [-system_f name] [-system_t name] [-version version]z6                       [-major_f axis] [-minor_f axis]z6                       [-major_t axis] [-minor_t axis]z@                       [-negate] [src_file.los]... dst_file.gsb  z" -a: append to existing NTv2 file.z> -auto: process a whole directory of nad27/hpgn los/las files.z& -negate: reverse direction of change.zeg.z loslas2ntv2.py -auto *.loszS loslas2ntv2.py -system_f NAD27 -system_t NAD83 -sub_name conus conus.los conus.gsb   )printr   r   r   Usager   4   s    	
OP	
RS	
WX	
BC	
BC	
LM	"I	
./	
JK	
23	"I	%L	
'(	] r   c                 "   U S S S-   nU S S S-   n[         R                  " U5      n[         R                  " U5      nUR                  nUR                  S:X  a  UR                  S5        [         R                  " S5      nUR                  UUR                  UR                  S[         R                  U5      n	U	R                  UR                  5       5        UR                  5       n
UR                  (       a  SU
-  n
U	R                  S5      R                  U
5        UR                  5       n
UR                  (       a  SU
-  n
U	R                  S	5      R                  U
5        UR                  (       a  U	R!                  UR                  5        g g )
N.los.las   zAPPEND_SUBDATASET=YESNTv2   r   )r   Opencreate_optionsr	   GetDriverByNameCreateRasterXSizeRasterYSizeGDT_Float32SetGeoTransformGetGeoTransformReadAsArrayr   GetRasterBand
WriteArrayr   SetMetadata)losntv2_filenameoptionslos_filenamelas_filenamelos_dblas_dbr&   ntv2_driverntv2_dbdatas              r   TranslateLOSLASr<   K   sW    s8f$Ls8f$LYY|$FYY|$F ++N~~56&&v.K  	G F2245 D~~Dy!''-D~~Dy!''-G,,- r   c                 B   SU l         SU l        U R                  nSnU GH  n/ U l        X l        UR	                  S5      S:w  a  US S S-   nSU l         SU l        U R                  R                  SUS S -   5        U R                  R                  S	5        U R                  R                  S
5        U R                  R                  S5        U R                  R                  S5        U R                  R                  S5        U R                  R                  S5        OSnU R                  R                  SUS S -   5        US:X  a  SU l         U R                  R                  S5        U R                  R                  S5        U R                  R                  S5        U R                  R                  S5        U R                  R                  S5        U R                  R                  S5        OSU l         Sn[        SU< SU< S35        [        XEU 5        GM     g)Nr   hpgnr$   r   .gsbr!   	SUB_NAME=r   zMAJOR_F=6378137.0zMINOR_F=6356752.31414zMAJOR_T=6378137.0zMINOR_T=6356752.31414zSYSTEM_F=HARNzSYSTEM_T=NAD83znad27_usa.gsbzMAJOR_F=6378206.4zMINOR_F=6356583.8zSYSTEM_F=NAD27z
Integrate z into .)r	   r   r   r&   findr   r   r<   )r4   loslas_listoriginal_metadata
have_nad27r2   r3   s         r   	auto_noaarF   z   s   GNG((J !#,88Fr!Hv-MGNGN##K#bq'$9:##$78##$;<##$78##$;<##O4##$45 ,M##K#cr($:;Q!"  ''(;<  ''(;<  ''(;<  ''(?@  ''(89  ''(89!"Jm<=G4C F r   c                    S n/ nSn[        5       n[        R                  " U 5      n U c  gSnU[        U 5      :  Ga  X   nUS:X  a	  SUl        GOUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  S	XS-      -   5        US-   nGOUS
:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOMUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOEUS:X  a<  U[        U 5      S-
  :  a*  UR
                  R                  SXS-      -   5        US-   nGOUS:X  a;  U[        U 5      S-
  :  a)  UR
                  R                  SXS-      -   5        US-   nOUS:X  a;  U[        U 5      S-
  :  a)  UR
                  R                  SXS-      -   5        US-   nOUS:X  a  SUl        OsUS:X  a  SnOjUS:X  a  SUl        O\US   S:X  a
  [        5       $ US S  S!:X  d	  US S  S":X  a  UR                  U5        O%US S  S#:X  a  Uc  UnO[        S$U5        [        5       $ US-   nU[        U 5      :  a  GM  U(       d  [        S%5        [        5       $ US:X  a  [        XB5        Uc  [        S&5        [        5       $ U H  n[        XqU5        SUl        M     g)'Nr   r!   z-vz-versionzVERSION=z-createdzCREATED=z-updatedzUPDATED=z	-system_fz	SYSTEM_F=z	-system_tz	SYSTEM_T=z-parentzPARENT=z	-sub_namer@   z-gs_typezGS_TYPE=z-major_fzMAJOR_F=z-minor_fzMINOR_F=z-major_tzMAJOR_T=z-minor_tzMINOR_T=z-negatez-autoz-a-r   r   r    r?   zUnrecognized argument: z&No .los/.las files specified as input.zNo NTv2 file specified.)r   r   GeneralCmdLineProcessorlenr   r   r	   r   r   r   rF   r<   )argvr3   rC   	auto_flagr4   iargr2   s           r   mainrO      sP   MKIiG''-D| 	
A
c$i-g$;#$G J1s4y1}#4##J!e$<=AAJ1s4y1}#4##J!e$<=AAJ1s4y1}#4##J!e$<=AAKAD	A$5##K$1u+$=>AAKAD	A$5##K$1u+$=>AAI!c$i!m"3##IU$;<AAKAD	A$5##K$1u+$=>AAJ1s4y1}#4##J!e$<=AAJ1s4y1}#4##J!e$<=AAJ1s4y1}#4##J!e$<=AAJ1s4y1}#4##J!e$<=AAJ1s4y1}#4##J!e$<=AAIGNG^ID[GNVs]7NX3rs8v#5s#XM$9M +S17NEY c$i-\ 67wA~'''(w G4 
 r   __main__)sysosgeor   objectr   r   r<   rF   rK   rO   r   exitr   r   r   <module>rU      s^   B  
f .'.^-` hh nb zHHT#((^ r   