
    e                     J    d dl Zd dlZd dlmZ d dlmZ  G d de          ZdS )    N)Tiles)ComparisonTestCasec                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestCoordinateConversionc                    t          j        dd          \  }}|                     |d           |                     |d           t          j        dd          \  }}|                     |dd           |                     |dd           t          j        dd	          \  }}|                     |d
d           |                     |dd           t          j        dd          \  }}|                     |dd           |                     |dd           t          j        dd          \  }}|                     |dd           |                     |dd           d S )Nr      
   gj@A   placesgQ1AiigLgp=,?U   igq=
1bAgch   ףpEsAgzsA)r   lon_lat_to_easting_northingassertAlmostEqual)selfeastingnorthings      Blib/python3.11/site-packages/holoviews/tests/element/test_tiles.py)test_spot_check_lonlat_to_eastingnorthingzBTestCoordinateConversion.test_spot_check_lonlat_to_eastingnorthing	   s    "=aCCw***x+++!=b"EEw
1===xA>>>!=c3GGwA>>>xQ???!=b#FFw
1===xa@@@!=c2FFwA>>>xQ?????    c                    t          j        dd          \  }}|                     |d           |                     |d           t          j        dd          \  }}|                     |dd           |                     |dd           t          j        dd	          \  }}|                     |d
d           |                     |dd           t          j        dd          \  }}|                     |dd           |                     |dd           t          j        dd          \  }}|                     |dd           |                     |dd           d S )Nr   i ifgqcR&@r
   r   ghi5i g?ϝ"3gS60@ii@KL g_!gRԙ{HuD@ףpEsr   g     fgECU@)r   easting_northing_to_lon_latr   )r   lonlats      r   )test_spot_check_eastingnorthing_to_lonlatzBTestCoordinateConversion.test_spot_check_eastingnorthing_to_lonlat    s|    4Q::SsA&&&sA&&&4WgFFSsJq999sJq9994XwGGSsK:::sJq9994XwGGSsJq999sJq9994\;OOSsF1555sJq99999r   c                 *   t          j        ddd          D ]{}t          j        ddd          D ]b}t          j        ||          \  }}t          j        ||          \  }}|                     ||d           |                     ||d           c|d S )NLr   d   r   r
   r   )nplinspacer   r   r   r   )r   r   r   r   r   new_lonnew_lats          r   -test_check_lonlat_to_eastingnorthing_identityzFTestCoordinateConversion.test_check_lonlat_to_eastingnorthing_identity8   s    ;tS#.. 	? 	?C{3C00 ? ?$)$Ec3$O$O!#(#DWh#W#W &&sGA&>>>&&sGA&>>>>	?	? 	?r   c                 *   t          j        ddd          D ]{}t          j        ddd          D ]b}t          j        ||          \  }}t          j        ||          \  }}|                     ||d           |                     ||d           c|d S )Nr   r   r    r
   r   )r"   r#   r   r   r   r   )r   r   r   r   r   new_eastingnew_northings          r   -test_check_eastingnorthing_to_lonlat_identityzFTestCoordinateConversion.test_check_eastingnorthing_to_lonlat_identity@   s    {<cBB 	I 	IGKk3GG I I <WhOOS,1,McSV,W,W)\&&wA&FFF&&xa&HHHH	I	I 	Ir   c                    t          j        t          j        ddd          t          j        ddd                    \  }}|                                }|                                } ||          } ||          }|                     ||           |                     ||           t          j        ||          \  }}	|                     ||           |                     |	|           t          j        ||	          \  }
}|                     |
|           |                     ||            |||
            |||           d S )Nr   r   r    r!   r   )r"   meshgridr#   flattenassertIsInstancer   r   r   )r   constructor
array_typechecklonslats
array_lons
array_latseastings	northingsnew_lonsnew_latss               r   check_array_type_preservedz3TestCoordinateConversion.check_array_type_preservedH   s\   [Kc3''S"c)B)B
 

d ||~~||~~ [&&
 [&&
j*555j*555#?

 
) 	h
333i444">i
 
( 	h
333h
333j(###j(#####r   c                 ^    |                      t          j        t          j        d            d S )Nc                 F    t           j                            | |d          S )Nr
   )decimal)r"   testingassert_array_almost_equalabs     r   <lambda>zATestCoordinateConversion.test_check_numpy_array.<locals>.<lambda>g   s    ==aA=NN r   )r:   r"   arrayndarrayr   s    r   test_check_numpy_arrayz/TestCoordinateConversion.test_check_numpy_arrayd   s3    ''HbjNN	
 	
 	
 	
 	
r   c                 ^    |                      t          j        t          j        d            d S )Nc                 F    t           j                            | |d          S )NF)check_exact)pdr>   assert_series_equalr@   s     r   rC   z=TestCoordinateConversion.test_pandas_series.<locals>.<lambda>m   s$    771% 8   r   )r:   rK   SeriesrF   s    r   test_pandas_seriesz+TestCoordinateConversion.test_pandas_seriesj   s7    ''Iry 	
 	
 	
 	
 	
r   N)
__name__
__module____qualname__r   r   r&   r*   r:   rG   rN    r   r   r   r      s        @ @ @.: : :0? ? ?I I I$ $ $8
 
 

 
 
 
 
r   r   )	numpyr"   pandasrK   	holoviewsr   holoviews.element.comparisonr   r   rR   r   r   <module>rW      s                  ; ; ; ; ; ;h
 h
 h
 h
 h
1 h
 h
 h
 h
 h
r   