+
    Tjh0                         R t ^ RIHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHtHt  ! R R	]4      t ! R
 R]
4      t ! R R]
4      tR# )a6  
The Spatial Reference class, represents OGR Spatial Reference objects.

Example:
>>> from django.contrib.gis.gdal import SpatialReference
>>> srs = SpatialReference('WGS84')
>>> print(srs)
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        TOWGS84[0,0,0,0,0,0,0],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.01745329251994328,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]
>>> print(srs.proj)
+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
>>> print(srs.ellipsoid)
(6378137.0, 6356752.3142451793, 298.25722356300003)
>>> print(srs.projected, srs.geographic)
False True
>>> srs.import_epsg(32140)
>>> print(srs.name)
NAD83 / Texas South Central
)byrefc_char_pc_int)IntEnum)NoneType)GDALBase)SRSException)srs)force_bytes	force_strc                       ] tR t^(t^ t^tRtR# )	AxisOrder N)__name__
__module____qualname____firstlineno__TRADITIONAL	AUTHORITY__static_attributes__r       P/var/www/idalgo/venv/lib/python3.14/site-packages/django/contrib/gis/gdal/srs.pyr   r   (   s    KIr   r   c                     a  ] tR t^-t o Rt]P                  tR'R ltR t	R t
R(R ltR tR tR	 tR
 tR tR tR t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t ]R 4       t!R t"R t#R t$R t%R  t&]R! 4       t']R(R" l4       t(]R# 4       t)]R$ 4       t*]R)R% l4       t+R&t,V t-R# )*SpatialReferencez
A wrapper for the OGRSpatialReference object. According to the GDAL web
site, the SpatialReference object "provide[s] services to represent
coordinate systems (projections and datums) and to transform between them."
Nc                D   \        V\        \        34      '       g   \        R4      hT;'       g    \        P                  V n        VR8X  d   \        P                  ! \        R4      4      V n	        V P                  V4       V P
                  \        P                  8X  d,   \        P                  ! V P                  V P
                  4       R# \        V\        4      '       d    \        V4      pRV,          pMK\        V\        4      '       d   RpM2\        WP                  4      '       d   TpRpM\        RV,          4      hVR8X  d   TpM!\        R4      p\        P                  ! V4      pV'       g   \!        R	V,          4      hWPn	        V P
                  \        P                  8X  d,   \        P                  ! V P                  V P
                  4       VR
8X  d   V P#                  V4       R# VR8X  d   V P%                  V4       R# R#   \         d     Li ; i)z
Create a GDAL OSR Spatial Reference object from the given input.
The input may be string of OGC Well Known Text (WKT), an integer
EPSG code, a PROJ string, and/or a projection "well known" shorthand
string (one of 'WGS84', 'WGS72', 'NAD27', 'NAD83').
z:SpatialReference.axis_order must be an AxisOrder instance.wktr   NzEPSG:%depsgogrzInvalid SRS type "%s"z+Could not create spatial reference from: %suser)
isinstancer   r   
ValueErrorr   
axis_ordercapinew_srsr   ptr
import_wktset_axis_strategystrintptr_type	TypeErrorr   import_user_inputimport_epsg)self	srs_inputsrs_typer!   sridr	   bufs   &&&&   r   __init__SpatialReference.__init__6   s    *x&;<<L  %==	(=(=u||HSM2DHOOI&)"7"77&&txxA	3'' 9~%,	 	3''H	==11CH3h>??uC 3-C,,s#C =	I  H??i333""488T__=v""9-Y'  A  s   &H HHc                p    \        V\        4      '       d   V P                  ! V!  # V P                  V4      # )a  
Return the value of the given string attribute node, None if the node
doesn't exist. Can also take a tuple as a parameter, (target, child),
where child is the index of the attribute in the WKT. For example:

>>> wkt = (
...     'GEOGCS["WGS 84",'
...     '  DATUM["WGS_1984, ... AUTHORITY["EPSG","4326"]'
...     ']'
... )
>>> srs = SpatialReference(wkt) # could also use 'WGS84', or 4326
>>> print(srs['GEOGCS'])
WGS 84
>>> print(srs['DATUM'])
WGS_1984
>>> print(srs['AUTHORITY'])
EPSG
>>> print(srs['AUTHORITY', 1]) # The authority value
4326
>>> print(srs['TOWGS84', 4]) # the fourth value in this wkt
0
>>> # For the units authority, have to use the pipe symbole.
>>> print(srs['UNIT|AUTHORITY'])
EPSG
>>> print(srs['UNIT|AUTHORITY', 1]) # The authority value for the units
9122
)r   tuple
attr_valuer-   targets   &&r   __getitem__SpatialReference.__getitem__q   s/    8 fe$$??F++??6**r   c                    V P                   # )zUse 'pretty' WKT.)
pretty_wktr-   s   &r   __str__SpatialReference.__str__   s    r   c                    \        V\        4      '       d   \        V\        4      '       g   \        h\        P
                  ! V P                  \        V4      V4      # )z
The attribute value for the given target node (e.g. 'PROJCS'). The
index keyword specifies an index of the child node to return.
)r   r'   r(   r*   r"   get_attr_valuer$   r
   )r-   r8   indexs   &&&r   r6   SpatialReference.attr_value   s@    
 &#&&j.D.DO""488[-@%HHr   c                j    \         P                  ! V P                  Vf   V4      # \        V4      4      # )z;Return the authority name for the given string target node.)r"   get_auth_namer$   r
   r7   s   &&r   	auth_nameSpatialReference.auth_name   4    !!HHf
 	
4?4G
 	
r   c                j    \         P                  ! V P                  Vf   V4      # \        V4      4      # )z;Return the authority code for the given string target node.)r"   get_auth_coder$   r
   r7   s   &&r   	auth_codeSpatialReference.auth_code   rH   r   c                l    \        \        P                  ! V P                  4      V P                  R7      # )z/Return a clone of this SpatialReference object.)r!   )r   r"   	clone_srsr$   r!   r=   s   &r   cloneSpatialReference.clone   s     txx 8T__UUr   c                F    \         P                  ! V P                  4       R# )z7Morph this SpatialReference from ESRI's format to EPSG.N)r"   morph_from_esrir$   r=   s   &r   	from_esriSpatialReference.from_esri   s    TXX&r   c                F    \         P                  ! V P                  4       R# )z
This method inspects the WKT of this SpatialReference, and will
add EPSG authority nodes where an EPSG identifier is applicable.
N)r"   identify_epsgr$   r=   s   &r   rV   SpatialReference.identify_epsg   s    
 	488$r   c                F    \         P                  ! V P                  4       R# )z-Morph this SpatialReference to ESRI's format.N)r"   morph_to_esrir$   r=   s   &r   to_esriSpatialReference.to_esri   s    488$r   c                F    \         P                  ! V P                  4       R# )z5Check to see if the given spatial reference is valid.N)r"   srs_validater$   r=   s   &r   validateSpatialReference.validate   s    $((#r   c                    V P                   '       d   V P                  R4      # V P                  '       d   V P                  R4      # V P                  '       d   V P                  R4      # R# )z*Return the name of this Spatial Reference.PROJCSGEOGCSLOCAL_CSN)	projectedr6   
geographiclocalr=   s   &r   nameSpatialReference.name   sO     >>>??8,,___??8,,ZZZ??:..r   c                j     \        V P                  RR7      4      #   \        \        3 d     R# i ; i)z=Return the SRID of top-level authority, or None if undefined.N)r8   )r(   rK   r*   r    r=   s   &r   r0   SpatialReference.srid   s4    	t~~T~233:& 		s    22c                n    \         P                  ! V P                  \        \	        4       4      4      w  rV# )z$Return the name of the linear units.r"   linear_unitsr$   r   r   r-   unitsrg   s   &  r   linear_nameSpatialReference.linear_name   s(     ''%
2CDr   c                n    \         P                  ! V P                  \        \	        4       4      4      w  rV# )z%Return the value of the linear units.rl   rn   s   &  r   rm   SpatialReference.linear_units   s(     ''%
2CDr   c                n    \         P                  ! V P                  \        \	        4       4      4      w  rV# )z%Return the name of the angular units.r"   angular_unitsr$   r   r   rn   s   &  r   angular_nameSpatialReference.angular_name   s(     ((53DEr   c                n    \         P                  ! V P                  \        \	        4       4      4      w  rV# )z&Return the value of the angular units.ru   rn   s   &  r   rv   SpatialReference.angular_units   s(     ((53DEr   c                j   RRr!V P                   '       g   V P                  '       d6   \        P                  ! V P                  \        \        4       4      4      w  rMFV P                  '       d5   \        P                  ! V P                  \        \        4       4      4      w  rVe   \        V4      pW3# )z
Return a 2-tuple of the units value and the units name. Automatically
determine whether to return the linear or angular units.
N)
rd   rf   r"   rm   r$   r   r   re   rv   r   rn   s   &  r   ro   SpatialReference.units   s|     Dt>>>TZZZ++DHHeHJ6GHKE4___,,TXXuXZ7HIKET?D}r   c                H    V P                   V P                  V P                  3# )zg
Return a tuple of the ellipsoid parameters:
 (semimajor axis, semiminor axis, and inverse flattening)
)
semi_major
semi_minorinverse_flatteningr=   s   &r   	ellipsoidSpatialReference.ellipsoid  s     $2I2IJJr   c                f    \         P                  ! V P                  \        \	        4       4      4      # )z6Return the Semi Major Axis for this Spatial Reference.)r"   r~   r$   r   r   r=   s   &r   r~   SpatialReference.semi_major	       txxuw88r   c                f    \         P                  ! V P                  \        \	        4       4      4      # )z6Return the Semi Minor Axis for this Spatial Reference.)r"   r   r$   r   r   r=   s   &r   r   SpatialReference.semi_minor  r   r   c                f    \         P                  ! V P                  \        \	        4       4      4      # )z9Return the Inverse Flattening for this Spatial Reference.)r"   invflatteningr$   r   r   r=   s   &r   r   #SpatialReference.inverse_flattening  s!     !!$((E%'N;;r   c                T    \        \        P                  ! V P                  4      4      # )zL
Return True if this SpatialReference is geographic
 (root node is GEOGCS).
)boolr"   isgeographicr$   r=   s   &r   re   SpatialReference.geographic  s     D%%dhh/00r   c                T    \        \        P                  ! V P                  4      4      # )zH
Return True if this SpatialReference is local (root node is LOCAL_CS).
)r   r"   islocalr$   r=   s   &r   rf   SpatialReference.local!  s    
 DLL*++r   c                T    \        \        P                  ! V P                  4      4      # )z_
Return True if this SpatialReference is a projected coordinate system
 (root node is PROJCS).
)r   r"   isprojectedr$   r=   s   &r   rd   SpatialReference.projected(  s     D$$TXX.//r   c                H    \         P                  ! V P                  V4       R# )z=Import the Spatial Reference from the EPSG code (an integer).N)r"   	from_epsgr$   )r-   r   s   &&r   r,   SpatialReference.import_epsg1      txx&r   c                H    \         P                  ! V P                  V4       R# )z0Import the Spatial Reference from a PROJ string.N)r"   	from_projr$   )r-   projs   &&r   import_projSpatialReference.import_proj5  r   r   c                Z    \         P                  ! V P                  \        V4      4       R# )z>Import the Spatial Reference from the given user input string.N)r"   from_user_inputr$   r
   )r-   
user_inputs   &&r   r+   "SpatialReference.import_user_input9  s    TXX{:'>?r   c           
     ~    \         P                  ! V P                  \        \	        \        V4      4      4      4       R# )z2Import the Spatial Reference from OGC WKT (string)N)r"   from_wktr$   r   r   r
   )r-   r   s   &&r   r%   SpatialReference.import_wkt=  s#    dhhh{3/?&@ ABr   c                H    \         P                  ! V P                  V4       R# )z0Import the Spatial Reference from an XML string.N)r"   from_xmlr$   )r-   xmls   &&r   
import_xmlSpatialReference.import_xmlA  s    dhh$r   c                f    \         P                  ! V P                  \        \	        4       4      4      # )z8Return the WKT representation of this Spatial Reference.)r"   to_wktr$   r   r   r=   s   &r   r   SpatialReference.wktF  s      {{488U8:%677r   c                h    \         P                  ! V P                  \        \	        4       4      V4      # )z.Return the 'pretty' representation of the WKT.)r"   to_pretty_wktr$   r   r   )r-   simplifys   &&r   r<   SpatialReference.pretty_wktK  s$     !!$((E(*,=xHHr   c                f    \         P                  ! V P                  \        \	        4       4      4      # )z:Return the PROJ representation for this Spatial Reference.)r"   to_projr$   r   r   r=   s   &r   r   SpatialReference.projP  s      ||DHHeHJ&788r   c                    V P                   # )zAlias for proj().)r   r=   s   &r   proj4SpatialReference.proj4U  s     yyr   c                z    \         P                  ! V P                  \        \	        4       4      \        V4      4      # )z8Return the XML representation of this Spatial Reference.)r"   to_xmlr$   r   r   r
   )r-   dialects   &&r   r   SpatialReference.xmlZ  s'     {{488U8:%6G8LMMr   )r!   r$   ) r   N)    )r   ).r   r   r   r   __doc__r"   release_srs
destructorr2   r9   r>   r6   rF   rK   rO   rS   rV   rZ   r^   propertyrg   r0   rp   rm   rw   rv   ro   r   r~   r   r   re   rf   rd   r,   r   r+   r%   r   r   r<   r   r   r   r   __classdictcell____classdict__s   @r   r   r   -   s     !!J9(v+B
I

V'%%$
 	 	    
  
  
  
   K K 9 9 9 9 < <
 1 1 , , 0 0''@C%
 8 8 I I 9 9   N Nr   r   c                   H   a  ] tR tRt o Rt]P                  tR tR t	Rt
V tR# )CoordTransformi`  z,The coordinate system transformation object.c                   \        V\        4      '       d   \        V\        4      '       g   \        R4      h\        P                  ! VP
                  VP
                  4      V n        VP                  V n        VP                  V n	        R# )z;Initialize on a source and target SpatialReference objects.z2source and target must be of type SpatialReferenceN)
r   r   r*   r"   new_ct_ptrr$   rg   
_srs1_name
_srs2_name)r-   sourcer8   s   &&&r   r2   CoordTransform.__init__e  s`    &"233:$<
 <
 PQQ;;v{{FKK8 ++ ++r   c                @    R V P                   : RV P                  : R2# )zTransform from "z" to "")r   r   r=   s   &r   r>   CoordTransform.__str__o  s    04QQr   )r   r   r$   N)r   r   r   r   r   r"   
destroy_ctr   r2   r>   r   r   r   s   @r   r   r   `  s"     2J&R Rr   r   N)r   ctypesr   r   r   enumr   typesr   django.contrib.gis.gdal.baser   django.contrib.gis.gdal.errorr   "django.contrib.gis.gdal.prototypesr	   r"   django.utils.encodingr
   r   r   r   r   r   r   r   <module>r      sO   : * )   1 6 : 8 
pNx pNf	RX Rr   