403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/matplotlib/projections/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/matplotlib/projections/__pycache__/geo.cpython-312.pyc
�

G8�c�C���ddlZddlZddlmZddlmZddlmZ	ddl
mZddlm
Z
ddlmZddlmZmZmZmZddlmZmZmZGd�d	e�ZGd
�de�ZGd�d
e�ZGd�de�ZGd�de�ZGd�de�Zy)�N)�_api)�Axes��Circle)�Path)�	Formatter�NullLocator�FixedLocator�
NullFormatter)�Affine2D�BboxTransformTo�	Transformc����eZdZdZGd�de�ZdZd�Z�fd�Zd�Z	d�Z
dd	�Zd
�Zd�Z
dd�Zd
�Zd�Zd�Zd�Zd�ZeZd�ZeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z �xZ!S)�GeoAxesz2An abstract base class for geographic projections.c� �eZdZdZdd�Zdd�Zy)�GeoAxes.ThetaFormatterz�
        Used to format the theta tick labels.  Converts the native
        unit of radians into degrees and adds a degree symbol.
        c��||_y�N)�	_round_to)�self�round_tos  �</usr/lib/python3/dist-packages/matplotlib/projections/geo.py�__init__zGeoAxes.ThetaFormatter.__init__s	��%�D�N�Nc�~�ttj|�|jz�|jz}|d�d�S)Nz0.0f�°)�round�np�rad2degr)r�x�pos�degreess    r�__call__zGeoAxes.ThetaFormatter.__call__s5���B�J�J�q�M�D�N�N�:�;�d�n�n�L�G��d�^�?�3�3r)��?r)�__name__�
__module__�__qualname__�__doc__rr#�rr�ThetaFormatterrs��	�	&�	4rr*�Kc��tj|�|_tj|�|_|j�yr)�maxis�XAxis�xaxis�YAxis�yaxis�_update_transScale�rs r�
_init_axiszGeoAxes._init_axis s0���[�[��&��
��[�[��&��
�	
���!rc����t�|��|jd�|jd�|j	d�|j
j
t��|jj
t��|j
jd�|jjd�|jjd��|jtjd�tj|t j"t j"�tj$|t j"dzt j"dz�y)	N��r+�noneT)�label1Onz	axes.grid�@)�super�clear�set_longitude_grid�set_latitude_grid�set_longitude_grid_endsr/�set_minor_locatorr	r1�set_ticks_position�set_tick_params�grid�mpl�rcParamsr�set_xlimr�pi�set_ylim�r�	__class__s �rr<z
GeoAxes.clear(s����
��
������#����r�"��$�$�R�(��
�
�$�$�[�]�3��
�
�$�$�[�]�3��
�
�%�%�f�-��
�
�%�%�f�-��
�
�"�"�D�"�1�	
�	�	�#�,�,�{�+�,��
�
�d�R�U�U�F�B�E�E�*��
�
�d�R�U�U�F�S�L�"�%�%�#�+�6rc��|j|j�|_|j�|_t|j�|_|j|jz|jz|_t�jd|jdz�jd|j�|_
|j|jz|_t�jdd�|jzt�jdd�z|_t�jdd�|jzt�jdd�z|_t�jt"j$dzd�jt"j$d�}t�jdd�}||jz|_||jz||jz|jzz}|t�jdd�z|_|t�jdd�z|_y)	N��r����g�������?i�����)�_get_core_transform�
RESOLUTION�transProjection�_get_affine_transform�transAffiner
�bbox�	transAxes�	transDatar�scale�_longitude_cap�	translate�_xaxis_pretransform�_xaxis_transform�_xaxis_text1_transform�_xaxis_text2_transformrrG�_yaxis_transform�_yaxis_text1_transform�_yaxis_text2_transform)r�
yaxis_stretch�yaxis_space�yaxis_text_bases    r�_set_lim_and_transformszGeoAxes._set_lim_and_transforms<s��#�7�7����H����5�5�7���(����3���

� � ����
��N�N�
�	
��
�J�
�U�1�d�)�)�A�-�
.�
�Y�q�4�.�.�.�
/�	
� �

�$�$��N�N�
�	
��
�J���Q��"��N�N�
��J� � ��A�&�
'�	
�#�

�J���Q��"��N�N�
��J� � ��B�'�
(�	
�#�!�
�(�(������A�6�@�@�"�%�%���K�
��j�&�&�q�#�.����N�N�
�	
��
�� � �
!�
�
�
�
��
�^�^��
�	�
��J� � ��Q�'�
(�	
�#�
��J� � ��A�&�
'�	
�#rc��|jd�}|jtjdf�\}}|jdtjdzf�\}}t	�jd|zd|z�j
dd�S)NrLrrM��?)rQ�	transformrrGrrYr[)rri�xscale�_�yscales     rrTzGeoAxes._get_affine_transformosx���,�,�Q�/�	��'�'�����
�3�	����'�'��B�E�E�!�G��5�	��6��z�
�U�3��<��v��
.�
�Y�s�C�
 �	!rc�L�tjgd�|��|jS�N)�tick1�tick2rC)�which)r�
check_in_listr]�rrqs  r�get_xaxis_transformzGeoAxes.get_xaxis_transformw������5�U�C��$�$�$rc� �|jddfS)N�bottom�center)r^�r�pads  r�get_xaxis_text1_transformz!GeoAxes.get_xaxis_text1_transform{s���*�*�H�h�>�>rc� �|jddfS)N�toprx)r_rys  r�get_xaxis_text2_transformz!GeoAxes.get_xaxis_text2_transform~s���*�*�E�8�;�;rc�L�tjgd�|��|jSrn)rrrr`rss  r�get_yaxis_transformzGeoAxes.get_yaxis_transform�rurc� �|jddfS)Nrx�right)rarys  r�get_yaxis_text1_transformz!GeoAxes.get_yaxis_text1_transform�s���*�*�H�g�=�=rc� �|jddfS)Nrx�left)rbrys  r�get_yaxis_text2_transformz!GeoAxes.get_yaxis_text2_transform�s���*�*�H�f�<�<rc��tdd�S)N�rhrhrhrr3s r�_gen_axes_patchzGeoAxes._gen_axes_patch�s���j�#�&�&rc�H�dtjj|dd�iS)N�geor�rh)�mspines�Spine�circular_spiner3s r�_gen_axes_spineszGeoAxes._gen_axes_spines�s ���w�}�}�3�3�D�*�c�J�K�Krc� �|ddk7rt�y)Nr�linear)�NotImplementedError�r�args�kwargss   r�
set_yscalezGeoAxes.set_yscale�s����7�h��%�%�rc��td��)z-Not supported. Please consider using Cartopy.zaChanging axes limits of a geographic projection is not supported.  Please consider using Cartopy.)�	TypeErrorr�s   rrFzGeoAxes.set_xlim�s���I�J�	Jrc��tj||g�\}}|dk\rdnd}|dk\rdnd}dt|�|t|�|fzS)z1Return a format string formatting the coordinate.��N�S�E�Wu%f°%s, %f°%s)rr�abs)r�lon�lat�ns�ews     r�format_coordzGeoAxes.format_coord�sS���:�:�s�C�j�)���S��3�J�S�C���3�J�S�C��:��s�8�R��S��2�.�/�	0rc��tjd|zd|�}|jjt	tj
|���|jj
|j|��y)zH
        Set the number of degrees between each longitude grid.
        iL����N)r�aranger/�set_major_locatorr
�deg2rad�set_major_formatterr*�rr"rCs   rr=zGeoAxes.set_longitude_grid�sW��
�y�y�����g�6���
�
�$�$�\�"�*�*�T�2B�%C�D��
�
�&�&�t�':�':�7�'C�Drc��tjd|zd|�}|jjt	tj
|���|jj
|j|��y)zG
        Set the number of degrees between each latitude grid.
        i�����ZN)rr�r1r�r
r�r�r*r�s   rr>zGeoAxes.set_latitude_grid�sW��
�y�y��w���G�4���
�
�$�$�\�"�*�*�T�2B�%C�D��
�
�&�&�t�':�':�7�'C�Drc���tj|�|_|jj	�jd|jdz�j
d|j�y)zS
        Set the latitude(s) at which to stop drawing the longitude grids.
        r$r:r�N)rr�rZr\r<rYr[)rr"s  rr?zGeoAxes.set_longitude_grid_ends�sQ��!�j�j��1���� � �
�U�W�
�U�3��+�+�c�1�
2�
�Y�s�T�0�0�0�
1rc��y)z+Return the aspect ratio of the data itself.r$r)r3s r�get_data_ratiozGeoAxes.get_data_ratio�s��rc��y)z�
        Return whether this axes supports the zoom box button functionality.

        This axes object does not support interactive zoom box.
        Fr)r3s r�can_zoomzGeoAxes.can_zoom����rc��y)z�
        Return whether this axes supports the pan/zoom button functionality.

        This axes object does not support interactive pan/zoom.
        Fr)r3s r�can_panzGeoAxes.can_pan�r�rc��yrr))rr �y�buttons    r�	start_panzGeoAxes.start_pan����rc��yrr)r3s r�end_panzGeoAxes.end_pan�r�rc��yrr))rr��keyr r�s     r�drag_panzGeoAxes.drag_pan�r�r)rC)"r%r&r'r(rr*rRr4r<rfrTrtr{r~r�r�r�r�r�r��
set_xscalerFrHr�r=r>r?r�r�r�r�r�r��
__classcell__�rJs@rrrs����<�
4��
4��J�"�7�(1'�f!�%�?�<�%�>�=�'�L�&��J�J�
�H�0�E�E�2����
�
�
rrc�2��eZdZdxZZ�fd�Zd�Zd�Z�xZS)�
_GeoTransformrMc�0��t�|��||_y)z�
        Create a new geographical transform.

        Resolution is the number of steps to interpolate between each input
        line segment to approximate its path in curved space.
        N)r;r�_resolution)r�
resolutionrJs  �rrz_GeoTransform.__init__�s���	����%��rc�`�djt|�j|j�S)Nz{}({}))�format�typer%r�r3s r�__str__z_GeoTransform.__str__�s#�����t�D�z�2�2�D�4D�4D�E�Erc��|j|j�}t|j|j�|j
�Sr)�interpolatedr�rri�vertices�codes)r�path�ipaths   r�transform_path_non_affinez'_GeoTransform.transform_path_non_affine�s6���!�!�$�"2�"2�3���D�N�N�5�>�>�2�E�K�K�@�@r)	r%r&r'�
input_dims�output_dimsrr�r�r�r�s@rr�r��s��� � �J��&�F�Arr�c�T��eZdZdZGd�de�ZGd�de�Z�fd�Zd�Z�xZ	S)�
AitoffAxes�aitoffc��eZdZdZd�Zd�Zy)�AitoffAxes.AitoffTransformzThe base Aitoff transform.c��|j\}}|dz}tj|�}tj|tj|�z�}tj|tj
z�}|tj|�z|z}tj|�|z}	tj||	g�S)Nr:)�Tr�cos�arccos�sincrG�sin�column_stack)
r�ll�	longitude�latitude�	half_long�cos_latitude�alpha�
sinc_alphar r�s
          r�transform_non_affinez/AitoffAxes.AitoffTransform.transform_non_affine�s���"$�$�$��I�x�"�C��I��6�6�(�+�L��I�I�l�R�V�V�I�->�>�?�E���������/�J�����y� 1�1�Z�?�A����x� �:�-�A��?�?�A�q�6�*�*rc�@�tj|j�Sr)r��InvertedAitoffTransformr�r3s r�invertedz#AitoffAxes.AitoffTransform.inverted����5�5�d�6F�6F�G�GrN�r%r&r'r(r�r�r)rr�AitoffTransformr��s��(�
	+�	Hrr�c��eZdZd�Zd�Zy)�"AitoffAxes.InvertedAitoffTransformc�J�tj|tj�Sr)r�	full_like�nan)r�xys  rr�z7AitoffAxes.InvertedAitoffTransform.transform_non_affines���<�<��B�F�F�+�+rc�@�tj|j�Sr)r�r�r�r3s rr�z+AitoffAxes.InvertedAitoffTransform.inverted����-�-�d�.>�.>�?�?rN�r%r&r'r�r�r)rrr�r�s
��	,�
	@rr�c���tjdz|_t�|�|i|��|jddd��|j
�y�Nr:rh�box�C��
adjustable�anchor�rrGrZr;r�
set_aspectr<�rr�r�rJs   �rrzAitoffAxes.__init__�@��� �e�e�c�k���
���$�)�&�)������c��:��
�
�rc�$�|j|�Sr)r��rr�s  rrQzAitoffAxes._get_core_transform#����#�#�J�/�/r)
r%r&r'�namer�r�r�rrQr�r�s@rr�r��s.����D�H�-�H�,	@�-�	@��0rr�c�T��eZdZdZGd�de�ZGd�de�Z�fd�Zd�Z�xZ	S)�
HammerAxes�hammerc��eZdZdZd�Zd�Zy)�HammerAxes.HammerTransformzThe base Hammer transform.c��|j\}}|dz}tj|�}tjd�}tjd|tj|�zz�}d|z|tj|�zz|z}|tj|�z|z}	tj
||	g�S)Nr:r$)r�rr��sqrtr�r�)
rr�r�r�r�r��sqrt2r�r r�s
          rr�z/HammerAxes.HammerTransform.transform_non_affine-s���"$�$�$��I�x�!�C��I��6�6�(�+�L��G�G�C�L�E��G�G�C�,����	�1B�"B�B�C�E��u������y�0A�!A�B�U�J�A������)�)�U�2�A��?�?�A�q�6�*�*rc�@�tj|j�Sr)r�InvertedHammerTransformr�r3s rr�z#HammerAxes.HammerTransform.inverted8r�rNr�r)rr�HammerTransformr*s��(�		+�	Hrrc��eZdZd�Zd�Zy)�"HammerAxes.InvertedHammerTransformc� �|j\}}tjd|dzdzz
|dzdzz
�}dtj||zdd|dzzdz
zz�z}tj||z�}tj
||g�S)NrLrNrM)r�rr
�arctan�arcsinr�)rr�r r��zr�r�s       rr�z7HammerAxes.InvertedHammerTransform.transform_non_affine>s����4�4�D�A�q�����Q��U�q�L�(�A��E�a�<�7�8�A��B�I�I�q�1�u��a�!�q�&�j�1�n�1E�&F�G�G�I��y�y��1��~�H��?�?�I�x�#8�9�9rc�@�tj|j�Sr)rrr�r3s rr�z+HammerAxes.InvertedHammerTransform.invertedFr�rNr�r)rrrr<s
��	:�	@rrc���tjdz|_t�|�|i|��|jddd��|j
�yr�r�rs   �rrzHammerAxes.__init__Jrrc�$�|j|�Sr)rrs  rrQzHammerAxes._get_core_transformPrr)
r%r&r'rr�rrrrQr�r�s@rrr's.����D�H�-�H�$@�-�@��0rrc�T��eZdZdZGd�de�ZGd�de�Z�fd�Zd�Z�xZ	S)�
MollweideAxes�	mollweidec��eZdZdZd�Zd�Zy)� MollweideAxes.MollweideTransformzThe base Mollweide transform.c����fd�}|j\}}tjdztj|�z
}|dk}|}tj|j
t��}|j�r�tjtj||�z�d||z}	||	�\}
}tj|�r1|	|xx|
|z
cc<||	�\}
}tj|�r�1|	dz||<|j�rV||}ddtjz|dzzdzz}tjdz|z
tj||�z||<tj|j
t��}
dtjd�ztjz|ztj|�z|
dd�d	f<tjd�tj|�z|
dd�d
f<|
S)Nc���|tj|�z�z
dtj|�zz}|tj|�dkDfS)NrLg����MbP?)rr�r�r�)�theta�delta�pi_sin_ls  �r�dz@MollweideAxes.MollweideTransform.transform_non_affine.<locals>.d\sJ��� �2�6�6�%�=�0�8�;�<�����u�
�-�/���b�f�f�U�m�e�3�3�3rrMg��ʡE�?)�dtyper:rh�gUUUUUU�?rrL)r�rrGr��empty�shape�float�anyr��signr
r�)rr�r%r�r��clat�ihigh�ilow�auxr"r#�large_delta�er�r$s              @rr�z5MollweideAxes.MollweideTransform.transform_non_affineZs����
4�
#%�$�$��I�x��5�5��7�R�V�V�H�-�-�D��5�L�E��6�D��(�(�8�>�>��7�C��x�x�z��5�5�2�6�6�(�4�.�#9�9���h�t�n�,��%&�u�X�"��{��f�f�[�)��+�&�%��*<�<�&�)*�5��&�E�;��f�f�[�)�"�A�I��D�	��y�y�{���K���1�r�u�u�9�q�!�t�+��7�7�� �e�e�A�g��k�R�W�W�X�e�_�-E�E��E�
����"�(�(�%�0�B��b�g�g�c�l�*�R�U�U�2�i�?�"�&�&��+�M�B�q�!�t�H��w�w�s�|�b�f�f�S�k�1�B�q�!�t�H��Irc�@�tj|j�Sr)r�InvertedMollweideTransformr�r3s rr�z)MollweideAxes.MollweideTransform.inverted|s�� �;�;�D�<L�<L�M�MrNr�r)rr�MollweideTransformrWs��+� 	�D	Nrr5c��eZdZd�Zd�Zy)�(MollweideAxes.InvertedMollweideTransformc��|j\}}tj|tjd�z�}tjdtjd�zz|ztj
|�z}tjd|ztjd|z�ztjz�}tj||g�S)NrM)r�rrr
rGr�r�r�)rr�r r�r"r�r�s       rr�z=MollweideAxes.InvertedMollweideTransform.transform_non_affine�s����4�4�D�A�q��I�I�a�"�'�'�!�*�n�-�E����!�b�g�g�a�j�.�1�Q�6������F�I��y�y�!�e�)�b�f�f�Q��Y�.?�"?�2�5�5�!H�I�H��?�?�I�x�#8�9�9rc�@�tj|j�Sr)rr5r�r3s rr�z1MollweideAxes.InvertedMollweideTransform.inverted�s�� �3�3�D�4D�4D�E�ErNr�r)rrr4r7�s
��	:�	Frr4c���tjdz|_t�|�|i|��|jddd��|j
�yr�r�rs   �rrzMollweideAxes.__init__�rrc�$�|j|�Sr)r5rs  rrQz!MollweideAxes._get_core_transform�s���&�&�z�2�2r)
r%r&r'rr�r5r4rrQr�r�s@rrrTs/����D�'N�]�'N�RF�]�F� �3rrc�l��eZdZdZGd�de�ZGd�de�Zddd��fd�
Z�fd	�Zd
�Z	d�Z
�xZS)�LambertAxes�lambertc�"�eZdZdZd�Zd�Zd�Zy)�LambertAxes.LambertTransformzThe base Lambert transform.c�L�tj||�||_||_y)z�
            Create a new Lambert transform.  Resolution is the number of steps
            to interpolate between each input line segment to approximate its
            path in curved Lambert space.
            N�r�r�_center_longitude�_center_latitude�r�center_longitude�center_latituder�s    rrz%LambertAxes.LambertTransform.__init__�s$��
�"�"�4��4�%5�D�"�$3�D�!rc�p�|j\}}|j}|j}tj|�}tj
|�}||z
}tj|�}	tjdtj
|�|zztj|�|z|	zzd�}
tjd|
z�}||ztj
|�z}|tj|�|ztj
|�|z|	zz
z}
tj||
g�S)NrLgV瞯�<rM)	r�rCrDrr�r��maximumr
r�)rr�r�r��clongr-�cos_lat�sin_lat�	diff_long�
cos_diff_long�inner_k�kr r�s              rr�z1LambertAxes.LambertTransform.transform_non_affine�s��"$�$�$��I�x��*�*�E��(�(�D��f�f�X�&�G��f�f�X�&�G�!�E�)�I��F�F�9�-�M��j�j��B�F�F�4�L��(�(�2�6�6�$�<��+?�
�+M�M���G�����G��$�A��G��B�F�F�9�-�-�A��R�V�V�D�\�'�)�B�F�F�4�L��,@��,N�N�O�A��?�?�A�q�6�*�*rc�l�tj|j|j|j�Sr)r=�InvertedLambertTransformrCrDr�r3s rr�z%LambertAxes.LambertTransform.inverted�s0���7�7��&�&��%�%�� � �"�
"rN)r%r&r'r(rr�r�r)rr�LambertTransformr@�s��)�	4�	+�&	"rrSc��eZdZd�Zd�Zd�Zy)�$LambertAxes.InvertedLambertTransformc�L�tj||�||_||_yrrBrEs    rrz-LambertAxes.InvertedLambertTransform.__init__�s"���"�"�4��4�%5�D�"�$3�D�!rc	��|j\}}|j}|j}tjtj
||�d�}dtjd|z�z}tj|�}tj|�}	tj|	tj|�z||ztj|�z|zz�}
|tj||z|tj|�z|	z|tj|�z|zz
z�z}tj||
g�S)Ng��&�.>rMrh)r�rCrDrrI�hypotrr�r�rr�)rr�r r�rJr-�p�c�sin_c�cos_cr�r�s            rr�z9LambertAxes.InvertedLambertTransform.transform_non_affine�s���4�4�D�A�q��*�*�E��(�(�D��
�
�2�8�8�A�q�>�4�0�A��B�I�I�c�A�g�&�&�A��F�F�1�I�E��F�F�1�I�E��y�y��r�v�v�d�|�!3�#$�U�7�2�6�6�$�<�#7�1�"<�">�?�H���	�	��5��Q�r�v�v�d�|�^�E�1�A�b�f�f�T�l�N�5�4H�H�I�!K�K�I��?�?�I�x�#8�9�9rc�l�tj|j|j|j�Sr)r=rSrCrDr�r3s rr�z-LambertAxes.InvertedLambertTransform.inverted�s0���/�/��&�&��%�%�� � �"�
"rN)r%r&r'rr�r�r)rrrRrU�s��	4�
	:�"	"rrRr)rFrGc���tjdz|_||_||_t�|�|i|��|jddd��|j�y)NrM�equalr�r�r�)	rrGrZrCrDr;rrr<)rrFrGr�r�rJs     �rrzLambertAxes.__init__�sP��� �e�e�a�i���!1��� /���
���$�)�&�)�����E�#��>��
�
�rc�h��t�|��|jjt	��yr)r;r<r1r�rrIs �rr<zLambertAxes.clear�s ���
��
���
�
�&�&�}��7rc�P�|j|j|j|�Sr)rSrCrDrs  rrQzLambertAxes._get_core_transform�s*���$�$��"�"��!�!���	rc�T�t�jd�jdd�S)Ng�?rh)rrYr[r3s rrTz!LambertAxes._get_affine_transform�s!���z�
�U�4�[�
�Y�s�C�
 �	!r)r%r&r'rr�rSrRrr<rQrTr�r�s@rr=r=�s<����D�%"�=�%"�N"�=�"�>01�!��8�
�!rr=) �numpyr�
matplotlibrDr�matplotlib.axesr�matplotlib.axis�axisr-�matplotlib.patchesr�matplotlib.pathr�matplotlib.spines�spinesr��matplotlib.tickerrr	r
r�matplotlib.transformsrr
rrr�r�rrr=r)rr�<module>rns������ ��%� �#�9�9�F�F�P
�d�P
�fA�I�A�.+0��+0�\*0��*0�ZC3�G�C3�L_!�'�_!r

Youez - 2016 - github.com/yon3zu
LinuXploit