a
    1$el'                     @   s  d Z ddlmZ ddlmZ ddlmZmZmZm	Z	 dZ
dZddd	d
Zdddd
ZejdddeddddedgejdddeddddedgiZG dd deZejdddeddddedddde
dgejdddeddddedddde
dgiZG dd deZejddde
dddde
dgejddde
dddde
dgejdddeddd dedgejdd deddddedgejdddeddd dedgejdd deddddedgejddd!e
dddd!e
dgejddde
dddde
dgejdd d"e
dddd!e
dgi	ZG d#d$ d$eZ e	j!d%d&de
de	j"d%d&dede	j#d%d&dede	j$d'd(d)e
de	j%d'd(d)ede	j&d'd(d)ede	j'dd&de
de	j(dd&dede	j)dd&dedi	Z*G d*d+ d+eZ+d,S )-zP
This module is for building coordinate systems to be used when
building a CRS.
    )Union)CoordinateSystem)Cartesian2DCSAxisEllipsoidal2DCSAxisEllipsoidal3DCSAxisVerticalCSAxisZmetreZdegreeZ
LinearUnitfootgׁ?)typenameZconversion_factorzUS survey footg8pjځ?Z	LongitudeZlonZeast)r
   Zabbreviation	directionunitZLatitudeZlatZnorthc                   @   s,   e Zd ZdZejfeeef dddZdS )Ellipsoidal2DCSzY
    .. versionadded:: 2.5.0

    This generates an Ellipsoidal 2D Coordinate System
    axisc                 C   s   |  ddtt| dS )a  
        Parameters
        ----------
        axis: :class:`pyproj.crs.enums.Ellipsoidal2DCSAxis` or str, optional
            This is the axis order of the coordinate system. Default is
            :attr:`pyproj.crs.enums.Ellipsoidal2DCSAxis.LONGITUDE_LATITUDE`.
        r   ellipsoidalr	   subtyper   )from_json_dict_ELLIPSOIDAL_2D_AXIS_MAPr   createclsr    r   X/var/www/html/django/DPS/env/lib/python3.9/site-packages/pyproj/crs/coordinate_system.py__new__@   s    zEllipsoidal2DCS.__new__N)	__name__
__module____qualname____doc__r   LONGITUDE_LATITUDEr   strr   r   r   r   r   r   9   s
   
r   zEllipsoidal heighthupc                   @   s,   e Zd ZdZejfeeef dddZdS )Ellipsoidal3DCSzY
    .. versionadded:: 2.5.0

    This generates an Ellipsoidal 3D Coordinate System
    r   c                 C   s   |  ddtt| dS )a  
        Parameters
        ----------
        axis: :class:`pyproj.crs.enums.Ellipsoidal3DCSAxis` or str, optional
            This is the axis order of the coordinate system. Default is
            :attr:`pyproj.crs.enums.Ellipsoidal3DCSAxis.LONGITUDE_LATITUDE_HEIGHT`.
        r   r   r   )r   _ELLIPSOIDAL_3D_AXIS_MAPr   r   r   r   r   r   r      s    zEllipsoidal3DCS.__new__N)	r   r   r   r   r   LONGITUDE_LATITUDE_HEIGHTr   r    r   r   r   r   r   r#      s   
r#   ZEastingEZNorthingNXYZsouthZwestc                   @   s,   e Zd ZdZejfeeef dddZdS )Cartesian2DCSzW
    .. versionadded:: 2.5.0

    This generates an Cartesian 2D Coordinate System
    r   c                 C   s   |  ddtt| dS )a  
        Parameters
        ----------
        axis: :class:`pyproj.crs.enums.Cartesian2DCSAxis` or str, optional
            This is the axis order of the coordinate system.
            Default is :attr:`pyproj.crs.enums.Cartesian2DCSAxis.EASTING_NORTHING`.
        r   Z	Cartesianr   )r   _CARTESIAN_2D_AXIS_MAPr   r   r   r   r   r   r     s    
zCartesian2DCS.__new__N)	r   r   r   r   r   EASTING_NORTHINGr   r    r   r   r   r   r   r*     s
   
r*   zGravity-related heightHZDepthDZdownc                   @   s,   e Zd ZdZejfeeef dddZdS )
VerticalCSzS
    .. versionadded:: 2.5.0

    This generates an Vertical Coordinate System
    r   c                 C   s   |  ddtt| gdS )a  
        Parameters
        ----------
        axis: :class:`pyproj.crs.enums.VerticalCSAxis` or str, optional
            This is the axis direction of the coordinate system.
            Default is :attr:`pyproj.crs.enums.VerticalCSAxis.GRAVITY_HEIGHT`.
        r   verticalr   )r   _VERTICAL_AXIS_MAPr   r   r   r   r   r   r   p  s    zVerticalCS.__new__N)	r   r   r   r   r   GRAVITY_HEIGHTr   r    r   r   r   r   r   r/   i  s   r/   N),r   typingr   Zpyproj._crsr   Zpyproj.crs.enumsr   r   r   r   Z
UNIT_METREZUNIT_DEGREEZUNIT_FTZ
UNIT_US_FTr   ZLATITUDE_LONGITUDEr   r   r%   ZLATITUDE_LONGITUDE_HEIGHTr$   r#   r,   ZNORTHING_EASTINGZEASTING_NORTHING_FTZNORTHING_EASTING_FTZEASTING_NORTHING_US_FTZNORTHING_EASTING_US_FTZ'NORTH_POLE_EASTING_SOUTH_NORTHING_SOUTHZ'SOUTH_POLE_EASTING_NORTH_NORTHING_NORTHZWESTING_SOUTHINGr+   r*   r2   ZGRAVITY_HEIGHT_US_FTZGRAVITY_HEIGHT_FTZDEPTHZDEPTH_US_FTZDEPTH_FTZUPZUP_FTZUP_US_FTr1   r/   r   r   r   r   <module>   s   ,		x: