
    nj[                        % S SK JrJr  S SKrS SKJrJrJr  S SKJr  \\	\
\R                  \R                  4   r\
rSq\\   \S'    SS\S\\   S\R                  4S	 jjrS
\\   4S jrS\\   4S jr SS\\   S\\   4S jjrS\\   4S jrS\S\	4S jrS\S\S\4S jrS\S\S\\R2                     4S jr SS\\R2                     S\S\S\\   SS4
S jjrg)    )OptionalUnionN)gdalogrosr)	ArrayLike_default_axis_ordersrs_like
axis_orderreturnc                    [        U [        R                  5      (       a  U nGO[        U [        R                  5      (       a5  [        R                  " 5       nUR                  U R                  5       5        O[        U [        5      (       aG  [        R                  " 5       nUR                  U 5      [        R                  :w  a  [        SU  35      eOj[        U [        5      (       aG  [        R                  " 5       nUR                  U 5      [        R                  :w  a  [        SU  35      eO[        SU  35      eUc  X :w  a  [        nUb~  [        [        R                   S   5      S:  a^  [        U["        5      (       d  [        SU 35      eUR%                  5       nX:w  a&  X :X  a  UR'                  5       nUR)                  U5        U$ )aV  
returns an SRS object from epsg, pj_string or DataSet or SRS object

gis_order and axis_order are mutually exclusive
if gis_order is not None then axis_order is set according to gis_order
if axis_order == None -> set axis order to default_axis_order iff the input is not an osr.SpatialReference reference,
otherwise set requested axis_order
z%ogr error when parsing srs from epsg:z,ogr error when parsing srs from user input: zUnknown SRS: r      zUnexpected axis_order: )
isinstancer   SpatialReferencer   DatasetImportFromWktGetProjectionintImportFromEPSGr   OGRERR_NONE	ExceptionstrSetFromUserInputr	   osgeo__version__OAMS_AXIS_ORDERGetAxisMappingStrategyCloneSetAxisMappingStrategy)r
   r   srssrs_axis_orders       Z/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/osgeo_utils/auxiliary/osr_util.pyget_srsr#   )   s}    (C0011	Hdll	+	+""$(0023	Hc	"	"""$h'3??:CH:NOO ;	Hc	"	"""$  *coo=J8*UVV > -z233co(
#e&7&7&:";q"@*o665j\BCC335'iik&&z2J    	gis_orderc                 Z    U c  S $ U (       a  [         R                  $ [         R                  $ N)r   OAMS_TRADITIONAL_GIS_ORDEROAMS_AUTHORITY_COMPLIANT)r%   s    r"   get_axis_order_from_gis_orderr*   U   s9      	  ++
 ))r$   c                 2    U c  S $ U [         R                  :H  $ r'   )r   r(   r   s    r"   get_gis_order_from_axis_orderr-   _   s    %4W:9W9W+WWr$   c                     U q [         $ r'   r	   r,   s    r"   set_default_axis_orderr0   c   s     %r$   c                      [         $ r'   r/    r$   r"   get_default_axis_orderr3   k   s    r$   r    c                 <    [        U 5      n U R                  5       nU$ r'   )r#   ExportToProj4)r    srs_pj4s     r"   
get_srs_pjr7   p   s    
#,C!GNr$   srs1srs2c                 \    X:X  a  g[        U 5      n [        U5      nU R                  U5      $ )NT)r#   IsSame)r8   r9   s     r"   are_srs_equivalentr<   v   s+    |4=D4=D;;tr$   src_srstgt_srsc                     [        U 5      n [        U5      nU R                  U5      (       a  g [        R                  " X5      $ r'   )r#   r;   r   CoordinateTransformation)r=   r>   s     r"   get_transformrA   ~   s;     gGgG~~g++G==r$   ctxyzc                    U b|  Uc:  [        [        X5      5       H!  u  nu  pVU R                  XV5      u  X'   X$'   nM#     g [        [        XU5      5       H%  u  nu  pVnU R                  XVU5      u  X'   X$'   X4'   M'     g g r'   )	enumeratezipTransformPoint)	rB   rC   rD   rE   idxx0y0_zz0s	            r"   transform_pointsrO      s     
~9!*3q9!5Xb%'%6%6r%>" "6 &/s1|%<!\bb)+):):22)F& &= r$   r'   )typingr   r   r   r   r   r    osgeo_utils.auxiliary.array_utilr   r   r   r   r   AnySRSr   r	   __annotations__r#   boolr*   r-   r0   r3   r7   r<   r@   rA   rO   r2   r$   r"   <module>rU      su  < # "      6	sC--t||;	<15 Xo. 5 ?C))"*?";))XXd^ Xh.G X
 -1)o 9 
F s V 6 d >>$>c**+> "	G--.GG G 		G
 
Gr$   