
    rbi                        d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	Z
d dlmZmZmZ d dlZd dlmZ d dlmZmZmZmZ d dlmZmZmZ d dlZd dlmZmZ d dlm Z m!Z! d dl"m#Z#m$Z$m%Z% ej&        d	             Z' ej&        g d
          d             Z(ej)        *                    d           G d d                      Z+d'dZ, G d d          Z-ej)        .                    ej/         d          d             Z0d Z1ej)        .                    ej/         d          d             Z2ej)        .                    ej/         d          ej)        3                    dddg          d                         Z4d Z5ej)        3                    dddg          d              Z6ej)        3                    dddg          d!             Z7ej)        8                    d"          d#             Z9 G d$ d%e          Z:d& Z;dS )(    N)Enum)PointPolygonbox)GeoDataFrame	GeoSeriespoints_from_xy	read_file)GeometryArrayGeometryDtypefrom_shapely)assert_geodataframe_equalassert_geoseries_equal)PACKAGE_DIRvalidate_boro_df)assert_frame_equalassert_index_equalassert_series_equalc                    t          t          g d          t          g d          g          }t          t          g d          t          g d          g          }t          ddg|d          }t          ddg|d          }||fS )	N))r   r   )   r   r   r   )r   r   )r   )   r   )r   r   )r   r   ))   r   )   r   r   r   )r   r   )r   )   r   )r   r   )r   r   r   r   )col1geometry)col2r   )r   r   r   )requests1s2df1df2s        q/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/geopandas/tests/test_geodataframe.pydfsr&      s    	4445544455	

 
B 
4445544455	

 
B AB77
8
8C
AB77
8
8C8O    )unionintersection
differencesymmetric_differenceidentity)paramsc                     | j         S N)param)r    s    r%   howr1   +   s     =r'   _setup_class_nybb_filenamec                      e Zd Zd Zd Zd Zej                            e	j
         d          d             Zej                            d          d             Zd	 Zd
 Zd Zd Zd Zd Zej                            e	j
         d          d             Zd Zd Zd Zd Zd Zd Zd Zej                            e	j
         d          d             Zd Zd Zej                            e	j
         d          d             Zd Z d Z!d Z"ej                            d          d             Z#d  Z$d! Z%d" Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5d2 Z6d3 Z7d4 Z8d5 Z9d6 Z:d7 Z;d8 Z<d9 Z=d: Z>d; Z?d< Z@d= ZAd> ZBd? ZCej        D                    d@g dA          ej        D                    dBg dC          dD                         ZEej        D                    d@g dA          ej        D                    dEdFdGg          ej                            e	jF         dH          dI                                     ZGej        D                    d@g dA          ej        D                    dJdKdLg          ej        D                    dMdKdEg          ej                            dN          dO                                                 ZHdP ZIdQ ZJdR ZKdKS )STestDataFramec           	         d}t          | j                  | _        t          j                    | _        d| _        t          d t          t          |          t          |                    D             | j                  | _
        t          t          j                            t          dddd                    | _        d S )	N
   	epsg:4326c                 H    g | ]\  }}t          ||          ||z   ||z  d  S ))r   value1value2r   .0xys      r%   
<listcomp>z.TestDataFrame.setup_method.<locals>.<listcomp><   sF       Aq #1a[[AEQUKK  r'   crs	geopandastestsdataznull_geom.geojson)r
   nybb_filenamedftempfilemkdtemptempdirrB   r   zipranger$   ospathjoinr   df3)selfNs     r%   setup_methodzTestDataFrame.setup_method4   s    D.//')) a%((33   
 
 
 GLLk7FDWXX
 
r'   c                 8    t          j        | j                   d S r/   )shutilrmtreerJ   rQ   s    r%   teardown_methodzTestDataFrame.teardown_methodF   s    dl#####r'   c                     t          | j                  t          u sJ t          j        r| j        j        | j        k    sJ d S d S r/   )typer$   r   compat
HAS_PYPROJrB   rW   s    r%   test_df_initzTestDataFrame.test_df_initI   sM    DH~~---- 	,8<48++++	, 	,++r'   zRequires pyprojreasonc           	         ddl m} t          d          t          dd          d t          t          d          t          d                    D             d}t	          || j        d          }t          |d         | j        	          }t          |j        |           d
|vsJ |j        j	        dk    sJ |j
        dk    sJ d t          t          dd          t          d                    D             }t          j        |          5  |                    |d	           d d d            d S # 1 swxY w Y   d S )Nr   )CRSErrorr   c                 4    g | ]\  }}t          ||          S  r;   r<   s      r%   r@   z<TestDataFrame.test_different_geo_colname.<locals>.<listcomp>U   $    IIIAq!IIIr'   ABlocationri   rB   r   rA   r   c                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z<TestDataFrame.test_different_geo_colname.<locals>.<listcomp>_   s$    EEEAq!EEEr'   r6   	dummy_crs)pyproj.exceptionsra   rL   rK   r   rB   r   r   r   name_geometry_column_namepytestraisesset_geometry)rQ   ra   rE   rG   locsgeom2s         r%   test_different_geo_colnamez(TestDataFrame.test_different_geo_colnameN   s   ...... qr1IIU1XXuQxx1H1HIII
 

 $DHzBBBj)tx888r{D111####{:----':5555EEU1b\\588)D)DEEE]8$$ 	4 	4OOE{O333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s   D55D9<D9z&ignore:Geometry is in a geographic CRSc           	         t          d          t          dd          d t          t          d          t          d                    D             d}t          || j        d          }t	          |j        t                    sJ |d         |d	<   t	          |j        t                    sJ |j        d         |d         d         k    sJ t	          |d	         t                    rJ t	          |d         t                    sJ |                    d
          |d<   t	          |d         t                    sJ t          d t          t          d          t          d                    D                       |d<   t	          |d         t                    sJ d t          t          d          t          d                    D             |d	<   t          || j                  }t	          |j        t                    sJ t	          |d	         t                    sJ t	          |d         t                    rJ d S )Nr   rb   r   c                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_getitem.<locals>.<listcomp>h   re   r'   rf   ri   rj   rg   r   r   buffc                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_getitem.<locals>.<listcomp>v   s$    #T#T#TDAqE!QKK#T#T#Tr'   arrayc                 @    g | ]\  }}t          |d z   |d z
            S r   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_getitem.<locals>.<listcomp>y   s.    TTTDAqE!a%Q//TTTr'   rA   )	rL   rK   r   rB   
isinstancer   r   bufferr   rQ   rE   rG   s      r%   test_geo_getitemzTestDataFrame.test_geo_getitemc   s    qr1IIU1XXuQxx1H1HIII
 

 $DHzBBB"+y11111C:"+y11111{1~j!1!!44444bni88888"Z.)44444YYq\\6
"V*i00000"#T#TCa%PQ((<S<S#T#T#TUU7"W+y11111TTCa%PQ((<S<STTTZ$DH---"+y11111"Z.)44444bni8888888r'   c                 |   | j         ddg         }t          |t          j                  sJ t          |t                    rJ | j                                         }|                    ddi                              d          }t          |t                    sJ |ddg         }t          |t          j                  sJ t          |t                    rJ t          j	        t          |                    |d<   |g d         }t          |t          j                  sJ t          |t                    rJ d S )Nr9   r:   r   geomcolumns)r9   r:   r   )r$   r}   pd	DataFramer   copyrenamerr   nparangelen)rQ   resrG   s      r%   test_getitem_no_geometryz&TestDataFrame.test_getitem_no_geometry   s)   h(+,#r|,,,,,c<00000 X]]__YY
F3Y44AA&II"l+++++(H%&#r|,,,,,c<000003r77++:1112#r|,,,,,c<0000000r'   c           
      b   t          d          t          j        d          d t          t          d          t          d                    D             d}t	          |          }t          d t          t          d          t          d                    D                       }||j        fD ]2}||d<   t          |d         |           t          |j        |           3t          d t          t          d          t          d                    D                       }||d<   t          |d         |           t          |j        |           ||j        fD ])}||d	<   t          |d	         j        t                    sJ *t          d          t          j        d          t          d          d
 t          t          d          t          d                    D             d}t	          |          }||j        fD ])}||d	<   t          |d	         j        t                    sJ *d S )Nr   g      @c                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_setitem.<locals>.<listcomp>   re   r'   rg   rh   r   c                 :    g | ]\  }}t          ||d z             S r|   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_setitem.<locals>.<listcomp>   s(    KKK41auQAKKKr'   r   c                 :    g | ]\  }}t          ||d z             S r|   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_setitem.<locals>.<listcomp>   s(    LLLDAqaQLLLr'      
other_geomc                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z2TestDataFrame.test_geo_setitem.<locals>.<listcomp>   re   r'   )rg   rh   r   r   )rL   r   r   rK   r   r   valuesr   r   r}   r   )rQ   rE   rG   svalsr"   s         r%   test_geo_setitemzTestDataFrame.test_geo_setitem   s)   q3IIU1XXuQxx1H1HIII
 

 $KK3uQxxq3J3JKKKLL M 	3 	3D!BzN"2j>1555"2;2222 LLCa%((4K4KLLLMM:r*~q111r{A... M 	F 	FD#B|b.5}EEEEEE q3((IIU1XXuQxx1H1HIII	
 
 $M 	F 	FD#B|b.5}EEEEEE	F 	Fr'   c           	      D   t          | j        j        | j        d         dd           | j                                        }d t	          t          t          | j                            t          t          | j                                      D             }||_        t          ||j        |j	                  }t          |j        |           t          |d         |           t          j        r*|                    d          }||_        |j	        dk    sJ d S d S )Nr   T)check_dtypecheck_index_typec                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z8TestDataFrame.test_geometry_property.<locals>.<listcomp>   s1     
 
 
 AqE!QKK
 
 
r'   indexrB   	epsg:3857rA   )r   rG   r   r   rK   rL   r   r   r   rB   r[   r\   to_crs)rQ   rG   new_geomgss       r%   test_geometry_propertyz$TestDataFrame.test_geometry_property   s   GGJ!		
 	
 	
 	
 W\\^^
 
$'c$'ll(;(;U3tw<<=P=P$Q$Q
 
 
 XRX26BBBr{H555r*~x888 	)[11BBK6[((((		) 	) )(r'   c                 ,   t          j        t                    5  | j                                        }|d= |j         d d d            n# 1 swxY w Y   t          j        t                    5  | j                                        }d|_        d d d            n# 1 swxY w Y   t          j        t                    5  | j                                        }d|_        d d d            n# 1 swxY w Y   t          j        t                    5  | j                                        }t          t          |j        d                             |_        d d d            n# 1 swxY w Y   t          j        t                    5  | j                                        }|d= |d          d d d            n# 1 swxY w Y   t          j        t                    5  | j                                        }||_        d d d            d S # 1 swxY w Y   d S )Nr   r9   appler   )rp   rq   AttributeErrorrG   r   r   
ValueErrorr$   	TypeErrorlistrL   shapeKeyErrorrQ   rG   s     r%   test_geometry_property_errorsz+TestDataFrame.test_geometry_property_errors   s#   ]>** 	 	B:KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:&& 	# 	#B"BK	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#
 ]:&& 	" 	"B!BK	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"
 ]9%% 	3 	3BuRXa[1122BK	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 ]8$$ 	 	B:zNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:&& 	 	BBK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sl   $A

AA.!BB"B?!C,,C03C0AE""E&)E&%F77F;>F;!H		HHc                 8   | j         j        j        dk    sJ | j                             d          }|j        j        dk    sJ | j                             dd          }|J | j         j        j        dk    sJ d}t	          j        t          |          5  | j                             d          }d d d            n# 1 swxY w Y   t	          j        t          |          5  | j                             dd           d d d            d S # 1 swxY w Y   d S )Nr   new_nameTinplacez&Column named Shape_Area already existsmatch
Shape_Area)rG   r   rn   rename_geometryrp   rq   r   )rQ   r$   msgs      r%   test_rename_geometryz"TestDataFrame.test_rename_geometry   s   w$
2222g%%j11| J....g%%j$%??{{{w$
2222 7]:S111 	8 	8')),77C	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8]:S111 	@ 	@G##L$#???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s$   B??CC%DDDc           	         t          d t          t          d          t          d                    D                       }| j        j        }| j                            |          }| j        |usJ t          |j        |d           t          | j        j        |           t          | j        d         | j        j                   t          j        t                    5  | j                            d           d d d            n# 1 swxY w Y   t          j        t                    5  | j                            | j                   d d d            d S # 1 swxY w Y   d S )Nc                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z3TestDataFrame.test_set_geometry.<locals>.<listcomp>   $    JJJ$!Q%1++JJJr'   r   F)	check_crsr   znonexistent-column)
r   rK   rL   rG   r   rr   r   rp   rq   r   )rQ   r   original_geomr$   s       r%   test_set_geometryzTestDataFrame.test_set_geometry   s   JJ#eAhha2I2IJJJKK(g""4((wc!!!!s|TUCCCCtw/???twz2DG4DEEE]:&& 	7 	7G  !5666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 ]:&& 	* 	*G  )))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s$   "D		DD- EE!Ec           	         t          d t          t          d          t          d                    D                       }t          |d          }| j                            |          }|j        dk    sJ | j                            |d          }|j        dk    sJ |j        j        dk    sJ | j                            |j                  }|j        | j        j        k    sJ |j        j        | j        j        k    sJ d S )Nc                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z7TestDataFrame.test_set_geometry_crs.<locals>.<listcomp>  r   r'   r   r   rA   z
epsg:26909)r   rK   rL   rG   rr   rB   r   r   )rQ   r   r   new_dfs       r%   test_set_geometry_crsz#TestDataFrame.test_set_geometry_crs  s   JJ#eAhha2I2IJJJKK t---%%b))z[(((( %%bl%;;z\))))"l2222 %%dk22zTW[(((("dgk111111r'   c                    | j         j        }|                    d          }|| j         d<   | j                             d          }d|v sJ t	          |j        |           t          j        t                    5  | j                             dd          }d d d            n# 1 swxY w Y   d|vsJ t	          |j        |           d S )Nd   simplified_geometryTdrop)rG   r   simplifyrr   r   rp   warnsFutureWarning)rQ   gg_simplifiedr$   rP   s        r%   test_set_geometry_colz#TestDataFrame.test_set_geometry_col"  s   Gzz#)5%&g""#899 %++++s|\::: \-(( 	I 	I'&&'<4&HHC	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I$C////s|\:::::s   :B##B'*B'c                 .   d t          t          d          t          d                    D             }| j                            |d          }|J t	          || j        j        | j        j                  }t          | j        j        |           d S )Nc                 4    g | ]\  }}t          ||          S rd   r;   r<   s      r%   r@   z;TestDataFrame.test_set_geometry_inplace.<locals>.<listcomp>3  s$    @@@1a@@@r'   r   Tr   r   )	rK   rL   rG   rr   r   r   rB   r   r   )rQ   r   rets      r%   test_set_geometry_inplacez'TestDataFrame.test_set_geometry_inplace2  s    @@E!HHeAhh(?(?@@@g""4"66{{{TW]DDDtw/66666r'   c                    t          t          | j                  dz
  dd          | j        _        i }t          t          | j                            D ]}t	          ||          ||<   t          |          }| j                            |          }|                                D ]+\  }}||d         j        k    sJ ||d         j	        k    sJ ,d S )Nr   r   )
rL   r   rG   r   r   r   rr   iterrowsr>   r?   )rQ   dir   rG   rs         r%   test_set_geometry_seriesz&TestDataFrame.test_set_geometry_series9  s     c$'llQ.B77s47||$$ 	 	AA;;AaDDaLL W!!!$$KKMM 	( 	(DAq*''''*'''''	( 	(r'   c                     t          j        ddgt          j        g                     }|                    d          }t	          |t
                    sJ t	          |j        t           j                  sJ d S )Nar   )r   r   )r   r   DatetimeIndexrr   r}   r   r   )rQ   rG   results      r%   test_set_geometry_emptyz%TestDataFrame.test_set_geometry_emptyN  sn    \3
"32;KB;O;OPPP,,&,/////&,(89999999r'   c                     | j         j        | j         j        d d df<   | j                             t	          j        d                    }|j        j        dk    sJ d S Nr   )rG   r   locrr   r   int64rn   r   s     r%   test_set_geometry_np_intz&TestDataFrame.test_set_geometry_np_intT  sV     G,AAAqDW!!"(1++..{1$$$$$$r'   c                    t                      }| j        j        |d<   d}t          j        t
          |          5  |j         d d d            n# 1 swxY w Y   g d}| j                                                            | j        j                  |         }t          j        t
          d          5  |j         d d d            n# 1 swxY w Y   d}d}t          j        t
          |          5  |j         d d d            n# 1 swxY w Y   t          j        t
          |          5  t                      j         d d d            d S # 1 swxY w Y   d S )	Nr   z0active geometry column to use has not been set. r   )BoroCodeBoroNamert   rt   zis not present.z)There are columns with geometry data typez5There are no existing columns with geometry data type)r   rG   r   rp   rq   r   r   assign)rQ   rG   msg_geo_col_nonecol_subset_drop_geometryr$   msg_other_geo_cols_presentmsg_no_other_geo_colss          r%   test_get_geometry_invalidz'TestDataFrame.test_get_geometry_invalidY  sG   ^^W%6
M]>1ABBB 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 $E#D#D gllnn##$'*:#;;<TU]>1BCCC 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 &Q" W]>1KLLL 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]>1FGGG 	$ 	$NN##	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$sG   AAA6C

CC4DDD.EEEc                 0   | j                             | j         j                                      d          }|j        d d ddgf         }|j        dk    sJ d}t          j        t          |          5  |j         d d d            d S # 1 swxY w Y   d S )Nr   rt   r   r   zis not present. r   )	rG   r   r   rr   r   ro   rp   rq   r   )rQ   rG   msg_geo_col_missings      r%   #test_get_geometry_geometry_inactivez1TestDataFrame.test_get_geometry_geometry_inactiveo  s    W^^$'"2^33@@IIVAAA
J//0'722220 ]>1DEEE 	 	KK	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   6BBBc                    t          j        t          d          5  d| j        j        _        d d d            n# 1 swxY w Y   t          j        t          d          5  d| j        _        d d d            d S # 1 swxY w Y   d S )Nz6Overriding the CRS of a GeoSeries that already has CRSr   z	epsg:2100z9Overriding the CRS of a GeoDataFrame that already has CRSr7   )rp   r   DeprecationWarningrG   r   rB   rW   s    r%   "test_override_existing_crs_warningz0TestDataFrame.test_override_existing_crs_warningz  s   \J
 
 
 	/ 	/ $/DG 		/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ \M
 
 
 	& 	& &DGK		& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   :>> A::A>A>c                    | j         j        dk    sJ t          | j         j        | j         j        d          }|j        J |                    d          j        dk    sJ t          | j         j        | j         j        d          }|j        J |                    d          j        dk    sJ |                    d          j        dk    sJ d S )Nr   foobarr   r   )rG   active_geometry_namer   r   r   rr   )rQ   	no_activemultiples      r%   test_active_geometry_namez'TestDataFrame.test_active_geometry_name  s    w+z9999 !)9$'BR!S!STT	-555%%e,,AUJJJJ  (8AQ R RSS,444$$U++@EIIII$$U++@EIIIIIIr'   c                 L   | j         }|                    |          \  }}t          ||           t          ||           |                    |                                          \  }}t          ||           t          ||           t          j        rs|                                                    d d          }|                    |          \  }}t          ||           |j        J t          ||           |j        J t          j	        |
                    dd                    }|                    |d          \  }}t          ||           t          |          t          j	        u sJ t          ||           |j        dd                                          }|j        d d                                         }|                                }t          j        |j        d<   |                                }	t          j        |	j        d<   |                    |          \  }}t          ||           t          ||	           t          j        r|                                                    d d          }
|	                                                    d d          }|                    |
          \  }}t          ||           |j        J t          ||           |j        J t          j	        |
                    dd                    }t          j	        |	
                    dd                    }|                    |d          \  }}t          ||           t          |          t          j	        u sJ t          ||           d S )NT)allow_overrider   r   axisr   r   )r$   alignr   r   r[   r\   set_crsrB   r   r   r   rZ   r   ilocr   nan)rQ   rG   res1res2df_nocrs	df_nogeomr#   r$   exp1exp2	df2_nocrs
exp2_nocrs
df2_nogeomexp2_nogeoms                 r%   
test_alignzTestDataFrame.test_align  s9   XXXb\\
d!$+++!$+++XXbggii((
d!$+++!$+++ 	$wwyy((d(CCH(++JD$%dB///8'''%dH5558### L!!<!<==	XXiaX00
d!$+++DzzR\))))4+++ gabbk  gcrcl!!wwyyv	!wwyy	"YYs^^
d!$---!$--- 	$

**4*EEI,,T$,GGJ9--JD$%dD1118'''%dJ7778###\#((:A(">">??
l499Za9#@#@AAYYzY22
d!$---DzzR\))))4-----r'   c                    | j                             d          }t          j        |          }|d         dk    sJ t	          |d                   dk    sJ d|d         d                                         v sJ |d         d         d	         d
         d         d         d         }t          j                            |ddg           d S )NTto_wgs84rZ   FeatureCollectionfeaturesr   idr   r   coordinatesg,;RgyLhHD@)	rG   to_jsonjsonloadsr   keysr   testingassert_allcloserQ   textrE   coords       r%   test_to_jsonzTestDataFrame.test_to_json  s    w--z$F|222224
#$$))))tJ'*//111111 Z #J/>qA!DQG

""5+<>N*OPPPPPr'   c                     | j                                         }d |_        t          j        d          }t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )NzoYou are calling a geospatial method on the GeoDataFrame, but the active geometry column to use has not been setr   )	rG   r   ro   reescaperp   rq   r   r  )rQ   rG   r   s      r%   'test_to_json_missing_geom_errors_nicelyz5TestDataFrame.test_to_json_missing_geom_errors_nicely  s    W\\^^ $( i=
 
 ]>555 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A22A69A6c                     | j                                         }t          j        |          }|d         d         d         d         d         d         d         }|ddgk    sJ d S )Nr  r   r   r  g  xқ-Ag  `ZA)rG   r  r  r  r  s       r%   test_to_json_wgs84_falsez&TestDataFrame.test_to_json_wgs84_false  sh    w  z$Z #J/>qA!DQG*,>???????r'   c                     d | j         j        j        _        t	          j        t          d          5  | j                             d           d d d            d S # 1 swxY w Y   d S )NzCRS is not setr   Tr  )rG   r   rz   rB   rp   rq   r   r  rW   s    r%   test_to_json_no_crsz!TestDataFrame.test_to_json_no_crs  s    %)"]:-=>>> 	+ 	+GOOTO***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s   AA"Az<ignore:Geometry column does not contain geometry:UserWarningc                 f   | j                                         }|d         |d<   t          j        t	          |                    |d<   |                    dd           |                                }t          j        |          }|d         dk    sJ t	          |d                   dk    sJ d S )	Nr   r   Tr   rZ   r  r  r   )	rG   r   r   r   r   rr   r  r  r  )rQ   rG   r  rE   s       r%   test_to_json_geom_colz#TestDataFrame.test_to_json_geom_col  s     W\\^^
^6
3r77++:
---zz||z$F|222224
#$$))))))r'   c                     | j         dg                                         }t          j        |          }t	          |d                   dk    sJ d|d         d                                         v sJ d S )Nr   r  r   r  r   rG   r  r  r  r   r  )rQ   r  rE   s      r%   test_to_json_only_geom_columnz+TestDataFrame.test_to_json_only_geom_column   sv    w
|$,,..z$4
#$$))))tJ'*//11111111r'   c                 f   t           j        | j        j        | j        d         dk    df<   | j                                        }t          j        |          }t          |d                   dk    sJ |d         D ]5}|d         }t          |          dk    sJ |d         dk    r
|d         J 6d S )Nr   Queensr   r  r   
propertiesr   r   r  rG   r   r  r  r  r   rQ   r  rE   fpropss        r%   test_to_json_nazTestDataFrame.test_to_json_na  s    EGVDGJ'83\ABw  z$4
#$$))))j! 	3 	3AlOEu::????Z H,,\*222		3 	3r'   c                     t          j        t                    5  | j                            d           d d d            d S # 1 swxY w Y   d S )Ngarbagena)rp   rq   r   rG   r  rW   s    r%   test_to_json_bad_naz!TestDataFrame.test_to_json_bad_na  s    ]:&& 	* 	*GOOyO)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*s   AA
Ac                 J   t           j        | j        j        | j        d         dk    df<   t           j        | j        j        | j        d         dk    df<   | j                            d          }t          j        |          }t          |d                   d	k    sJ |d         D ]{}|d
         }|d         dk    r"t          |          dk    sJ d|vsJ d|v sJ 8|d         dk    r"t          |          dk    sJ d|vsJ d|v sJ ft          |          dk    sJ |d S )Nr   r-  r   Bronx
Shape_Lengr   r6  r  r   r.  r   r   r/  r0  s        r%   test_to_json_dropnaz!TestDataFrame.test_to_json_dropna  sT   EGVDGJ'83\ABDFFDGJ'72L@Aw&))z$4
#$$))))j! 	' 	'AlOEZ H,,5zzQ#50000 $u,,,,,z"g--5zzQ#50000#u,,,,,5zzQ	' 	'r'   c                 L   t           j        | j        j        | j        d         dk    df<   t           j        | j        j        | j        d         dk    df<   | j                            d          }t          j        |          }t          |d                   d	k    sJ |d         D ]|}|d
         }t          |          dk    sJ |d         dk    r#t          j        |d                   sJ d|v sJ N|d         dk    r"t          j        |d                   sJ d|v sJ }d S )Nr   r-  r   r:  r;  keepr6  r  r   r.  r   )	r   r  rG   r   r  r  r  r   isnanr0  s        r%   test_to_json_keepnaz!TestDataFrame.test_to_json_keepna.  s>   EGVDGJ'83\ABDFFDGJ'72L@Aw&))z$4
#$$))))j! 
	- 
	-AlOEu::????Z H,,xl 344444 $u,,,,,z"g--xl 344444#u,,,,
	- 
	-r'   c                     | j                             d          }t          j        |          }t	          |d                   dk    sJ |d         D ]}d|                                vsJ d S )NTdrop_idr  r   r  r*  rQ   r  rE   r1  s       r%   test_to_json_drop_idz"TestDataFrame.test_to_json_drop_idA  s~    wt,,z$4
#$$))))j! 	( 	(Aqvvxx'''''	( 	(r'   c                     | j         dg                             d          }t          j        |          }t	          |d                   dk    sJ |d         D ]}d|                                vsJ d S )Nr   TrB  r  r   r  r*  rD  s       r%   %test_to_json_drop_id_only_geom_columnz3TestDataFrame.test_to_json_drop_id_only_geom_columnH  s    w
|$,,T,::z$4
#$$))))j! 	( 	(Aqvvxx'''''	( 	(r'   c                     t          g dgg dt          dd          g          }t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r   br   r   )rE   r   r   4GeoDataFrame cannot contain duplicated column names.r   )r   r   rp   rq   r   r  r   s     r%   #test_to_json_with_duplicate_columnsz1TestDataFrame.test_to_json_with_duplicate_columnsO  s    ))oooq!
 
 
 ]T
 
 
 	 	 JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A$$A(+A(c                     | j                                         }t          |          t          u sJ | j         j        |j        k    sJ d S r/   )rG   r   rZ   r   rB   )rQ   r$   s     r%   	test_copyzTestDataFrame.test_copyX  sE    gllnnCyyL((((w{cg%%%%%%r'   c                     t                      }|                                }t          |          t           u sJ |                    d          }t          |          t           u sJ d S )NT)deep)r   r   rZ   rQ   rG   r$   rP   s       r%   test_empty_copyzTestDataFrame.test_empty_copy]  s_    ^^ggiiCyyL((((gg4g  CyyL((((((r'   c                     t          t          j        dg di                    }t          |          t           u sJ t          |                                          t           u sJ d S )Nr   rI  )r   r   r   rZ   r   r   s     r%   test_no_geom_copyzTestDataFrame.test_no_geom_copye  s^    ",YYY'78899Bxx<''''BGGII,......r'   c                     t          dg i          }|j        j        dk    sJ t          dg id          }|j        j        dk    sJ t          g           }|j        j        dk    sJ d S )Nr   r   r   )r   r   dtyper   s     r%   
test_emptyzTestDataFrame.test_emptyj  s    :r*++{ J....3)c222{ J....2&&&{ J......r'   c                     | j         | j         d         j                            d                   }t          |          dk    sJ |d         j        }d|v sJ d|v sJ t          |          t          u sJ d S )Nr   rh   r   Brooklynr:  )rG   strcontainsr   r   rZ   r   )rQ   rG   boross      r%   test_bool_indexzTestDataFrame.test_bool_indexr  s    WTWZ(,55c::;2ww!||||:%U""""%Bxx<''''''r'   c                    | j         j        ddddf         j        sJ t          | j         | j         j        d d d d f                    t          | j         j        dd          | j         j        dd d d f                    t          | j         j        dd          | j         j        d d dd f                    t          | j         j        dd          | j         j        dd dd f                    d S )Nr   r   )r$   cxemptyr   r   rW   s    r%   test_coord_slice_pointsz%TestDataFrame.test_coord_slice_points{  s    x{2b5"R%<(....48TX[AAA%677748<+TX[QQQ-?@@@48<+TX[ABB-?@@@48<+TX[QRR-@AAAAAr'   c                 ,   dgt          dd          gd}t          j        |d          }t          j        r|j        dk    sJ n	|j        J |j        dk    sJ dgt          dd          gd}t          j        |d	
          }|j        d	k    sJ d S )Nr   g        )rg   r   i  rA   r   r   )rh   ri   ri   rV  )r   r   	from_dictr[   r\   rB   ro   r   s      r%   test_from_dictzTestDataFrame.test_from_dict  s    SuS#&788#Dd333 	"6[(((((6>>>':5555SuS#&788#D:>>>':555555r'   c                 J   t          j        d          }|                    |          5 }t          |          }|j        }d d d            n# 1 swxY w Y   t          j        ||          }t          |d           t          j	        r|j
        |k    sJ d S |j
        J d S )NfionarA   T)case_sensitive)rp   importorskipopenr   crs_wktr   from_featuresr   r[   r\   rB   )rQ   rF   rh  r1  r  rB   rG   s          r%   test_from_featuresz TestDataFrame.test_from_features  s    #G,,ZZ&& 	!AwwH)C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 'c:::D1111 	"6S======6>>>>>s   AAAc                    t          dd          }dddi|j        d}t          dd          }dddi|j        d}t          dd          }dd |j        d}t          j        |||g          }|ddg         }t          j                            dt          j        d	t          j        dd	t          j        t          j        d	g          }	t          |	|           d S )
Nr   Featurer   r   rZ   r.  r   r   rJ  r   )r   rJ  )
r   __geo_interface__r   rm  r   r   re  r   r  r   )
rQ   p1f1p2f2p3f3rG   r   expecteds
             r%   'test_from_features_unaligned_propertiesz5TestDataFrame.test_from_features_unaligned_properties  s    1a[[(,
 
 1a[[(,
 
 1a[[,
 
 'R55S#J<))26"""&q$9$9bf;U;UV
 
 	8V,,,,,r'   c                     d}d}t          j        |          }t          j        |          }t          j        |          }t          j        |          }t	          ||           d S )NaO  {
          "type": "FeatureCollection",
          "features": [
            {
              "type": "Feature",
              "properties": {},
              "geometry": {
                "type": "Polygon",
                "coordinates": [
                  [
                    [
                      11.3456529378891,
                      46.49461446367692
                    ],
                    [
                      11.345674395561216,
                      46.494097442978195
                    ],
                    [
                      11.346918940544128,
                      46.49385370294394
                    ],
                    [
                      11.347616314888,
                      46.4938352377453
                    ],
                    [
                      11.347514390945435,
                      46.49466985846028
                    ],
                    [
                      11.3456529378891,
                      46.49461446367692
                    ]
                  ]
                ]
              }
            }
          ]
        }aQ  {
          "type": "FeatureCollection",
          "features": [
            {
              "type": "Feature",
              "properties": null,
              "geometry": {
                "type": "Polygon",
                "coordinates": [
                  [
                    [
                      11.3456529378891,
                      46.49461446367692
                    ],
                    [
                      11.345674395561216,
                      46.494097442978195
                    ],
                    [
                      11.346918940544128,
                      46.49385370294394
                    ],
                    [
                      11.347616314888,
                      46.4938352377453
                    ],
                    [
                      11.347514390945435,
                      46.49466985846028
                    ],
                    [
                      11.3456529378891,
                      46.49461446367692
                    ]
                  ]
                ]
              }
            }
          ]
        })r  r  r   rm  r   )rQ   geojson_properties_objectgeojson_properties_nullgjson_pogdf1
gjson_nullgdf2s          r%   #test_from_features_empty_propertiesz1TestDataFrame.test_from_features_empty_properties  sn    '%!R'#T :788)(33 Z 788
)*554&&&&&r'   c                 6    G d d          }t          dd          } ||d          }t          dd          } ||d          }t          j        ||g          }t          |j                  ddgk    sJ |j                                        ||gk    sJ d S )Nc                       e Zd Zd ZdS )JTestDataFrame.test_from_features_geom_interface_feature.<locals>.Placemarkc                 *    dd|i|j         d| _         d S )Nrp  r   rq  )rr  )rQ   r   vals      r%   __init__zSTestDataFrame.test_from_features_geom_interface_feature.<locals>.Placemark.__init__  s'    %#&* $ 6* *&&&r'   N)__name__
__module____qualname__r  rd   r'   r%   	Placemarkr    s#            r'   r  r   r   r   r   r   )r   r   rm  sortedr   r   tolist)rQ   r  rs  rt  ru  rv  rG   s          r%   )test_from_features_geom_interface_featurez7TestDataFrame.test_from_features_geom_interface_feature  s    	 	 	 	 	 	 	 	 1a[[Yr11a[[Yr1'R11bj!!c:%66666{!!##Bx//////r'   c                    g dg dg dd}t          j        |          }d t          |d         |d                   D             }t          ||          }|g d	         }t          j        |j                  }t          ||           t          j        |j        d
                   }t          ||           t          j        |          }t          ||           d S )N)r   rJ  c)-   .   g     G@)igL^g^)rn   latlonc                 ,    g | ]}t          |          S rd   r;   )r=   xys     r%   r@   z>TestDataFrame.test_from_feature_collection.<locals>.<listcomp>0  s    BBB"E"IIBBBr'   r  r  rV  )r   rn   r  r  r  )r   r   rK   r   rm  rr  r   )rQ   rE   rG   r   gdfry  r   s          r%   test_from_feature_collectionz*TestDataFrame.test_from_feature_collection(  s    #OO!>>)))
 
 \$BBBuIr%y(A(ABBB2111999: ()>??3))) ()>z)JKK3))) (--3)))))r'   c                    t          j        t          t          | j                            t          j        | j        j                  d| j        j                  }|	                    d| j        j
                  }t          |t           j                  sJ t          |t                    sJ t          |j        | j        j                   |j        j        dk    sJ d|vsJ t          j        t"                    5  |	                    d| j        j
        d          }d d d            n# 1 swxY w Y   t          |t           j                  sJ t          |t                    sJ |j        j        dk    sJ d|v sJ d|vsJ d|v sJ d|j        d	<   |j        d	         d
k    sJ |j        d	         d
k    sJ t          j        t(                    5  |	                    dd           d d d            d S # 1 swxY w Y   d S )N)rg   ri   r   ri   rA   r   T)rB   r   r   r   rg   r   r   )r   r   rL   r   rG   r   rz   r   r   rr   rB   r}   r   r   rn   rp   r   r   r   rq   r   )rQ   rG   gfgf2s       r%   test_dataframe_to_geodataframez,TestDataFrame.test_dataframe_to_geodataframeA  s   \DG%%28DG<L3M3MNN'-
 
 
 __ZTW[_99"bl+++++"l+++++r{DG,<==={:----####\-(( 	J 	J//*$'+D/IIC	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J"bl+++++#|,,,,,| J....S    $$$$R vvf~""""wv!####]:&& 	6 	6OOJO555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s$   #D22D69D6HH	Hc                    t          j        t          t          | j                            | j        j        j        j        | j        j        j        j        d| j        j	                  }|
                                }t          |t          |d         |d                   | j        j                  }t          |          t           j        u sJ d|vsJ t          ||           t!          |t                    sJ t#          |d          sJ d|j        d<   t          ||           d	|d
<   t          ||           d S )N)rg   latitude	longituder  r  r  )r   rB   r      r  r   rg   )r   r   rL   r   rG   r   centroidr?   r>   r   r   r   r	   rB   rZ   r   r}   hasattrr   )rQ   rG   df_copyr  s       r%   test_dataframe_not_manipulatedz,TestDataFrame.test_dataframe_not_manipulated^  s@   \3tw<<(( G,57!W-68 
 '-
 
 
 ''))#B{OR
^DD
 
 

 Bxx2<''''####2w'''"l+++++r:&&&&& v2w'''32w'''''r'   c                     | j         j        d         dk    sJ t          | j         j        d                   | j         j        d         k    sJ d S )NrZ   r  r  r   )rG   rr  r   r   rW   s    r%   test_geodataframe_geointerfacez,TestDataFrame.test_geodataframe_geointerfacey  sP    w(04GGGGG47,Z899TW]1=MMMMMMMr'   c                    | j         j        d d                                         }t          j        |j        d<   t          t          |                    d                              d         }|d         J t          t          |                    d                              d         }d|	                                vsJ t          t          |                    d                              d         }t          j
        |d                   sJ t          |j        d	                   t          j        u sJ t          t          |                    d                              }t          |d         d
         t                    sJ t          t          |                    d                              }t          |d         d
         t                    sJ t          t          |                    d                              }t          |d         d
         t                    sJ |g d         }t          |j        d	                   t          j        u sJ t          t          |                    d                              }t          |d         d
         t                    sJ t          t          |                    d                              }t          |d         d
         t                    sJ t          t          |                    d                              }t          |d         d
         t                    sJ t          j        t"          d          5  |g d         }t%          |                                           d d d            n# 1 swxY w Y   t'          ddgt)          dd          t)          dd          gd          }t          j        t*                    5  t%          |                                           d d d            d S # 1 swxY w Y   d S )Nr   )r   r   nullr6  r.  r   r   r>  )r   r;  r;  )r;  r   r   rK  r   )r;  r;  r   r   r   )r   r   )rG   r  r   r   r  r   nextiteriterfeaturesr  r?  rZ   float64r}   floatrp   rq   r   r   r   r   r   )rQ   rG   r   df_only_numerical_colsdf_with_duplicate_columnss        r%   test_geodataframe_iterfeaturesz,TestDataFrame.test_geodataframe_iterfeatures}  sH   W\"1"""$$ "} d2??f?556677Ej!)))d2??f?556677E....d2??f?556677Exz*+++++ BF?+,,
::::d2??f?556677&.|<eDDDDDd2??f?556677&.|<eDDDDDd2??f?556677&.|<eDDDDD "$$L$L$L!M*.?@@BJNNNNd1>>&>IIJJKK&.|<eDDDDDd1>>&>IIJJKK&.|<eDDDDDd1>>&>IIJJKK&.|<eDDDDD]T
 
 
 	; 	; )+FFF)% *7799:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; aVeAqkk5A;;5OPPQQ]>** 	$ 	$""###	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s$   ,N::N>N>"P??QQc                 :   t          t          dd          gddggd d          }ddgd d}t          t          |                    d                                                  d          }||k    sJ dddgi}t          t          |                    d	                                                  d          }||k    sJ ddgd d}t          t          |                    d
                                                  d          }||k    sJ d S )Nr   r   )r   
non-scalartest_col)r  r  r  r6  r.  r  r   r>  )r   r   r  r  r  get)rQ   rG   ry  r   s       r%   *test_geodataframe_iterfeatures_non_scalarsz8TestDataFrame.test_geodataframe_iterfeatures_non_scalars  s,   1++1vhDQQ
 
 $%a&d;;d2??f?556677;;LII6!!!! 1a&)d2??f?556677;;LII6!!!!#$a&d;;d2??f?556677;;LII6!!!!!!r'   c                     | j                             dd          }d|                                vsJ |d         D ]}d|                                vsJ d S )Nr  Fr7  	show_bboxbboxr  )rG   to_geo_dictr  )rQ   geofeatures      r%   !test_geodataframe_geojson_no_bboxz/TestDataFrame.test_geodataframe_geojson_no_bbox  sn    g!!Vu!==SXXZZ'''': 	0 	0G/////	0 	0r'   c                 r   | j                             dd          }d|                                v sJ t          |d                   dk    sJ t	          |d         t
                    sJ |d         D ]}t	          |t          j                  rJ |d         D ]}d|                                v sJ d S )Nr  Tr  r  r   r  )rG   r  r  r   r}   tupler   r  )rQ   r  boundr  s       r%   test_geodataframe_geojson_bboxz,TestDataFrame.test_geodataframe_geojson_bbox  s    g!!Vt!<<####3v;1$$$$#f+u-----[ 	5 	5E!%444444: 	, 	,GW\\^^+++++	, 	,r'   c                     dd l }|                    |                    | j                            }t	          | j        |           d S r   )pickler  dumpsrG   r   )rQ   r  r$   s      r%   test_picklezTestDataFrame.test_pickle  sB    ll6<<0011!$'3/////r'   c                    t           j                            | j        d          }| j                            |           t          j        |          }t          | j        |           | j        j	        |j	        k    sJ d S )Nzdf.pkl)
rM   rN   rO   rJ   rG   	to_pickler   read_pickler   rB   )rQ   filename	unpickleds      r%   test_pickle_methodz TestDataFrame.test_pickle_method  sm    7<<h77(###N8,,	47I...w{im++++++r'   c                     t          j        d          }| j                                        |                    d          k    sJ | j                            d          |                    d          k    sJ d S )Npyprojz
EPSG:32618NAD83z
EPSG:26918)rp   rj  rG   estimate_utm_crsCRS)rQ   r  s     r%   test_estimate_utm_crsz#TestDataFrame.test_estimate_utm_crs  sp    $X..w''))VZZ-E-EEEEEw''00FJJ|4L4LLLLLLLr'   c                     ddg}ddg}t          j        |          }t          j        |          }t          ||d          }t          j        ||d          }t          ||                                           d S )Ns                      s            ?      ?s             @       @s            @      @)	geom_col0	geom_col1)r   from_wkbr   r   r   r   to_wkb)rQ   wkbs0wkbs1gs0gs1r  expected_dfs          r%   test_to_wkbzTestDataFrame.test_to_wkb  s    <:	
::	
  '' ''3??@@lU#K#KLL;

55555r'   c                     ddg}ddg}t          j        |          }t          j        |          }t          ||d          }t          j        ||d          }t          ||                                           d S )NzPOINT (0 0)zPOINT (1 1)zPOINT (2 2)zPOINT (3 3))r  r  )r   from_wktr   r   r   r   to_wkt)rQ   wkts0wkts1r  r  r  r  s          r%   test_to_wktzTestDataFrame.test_to_wkt  s    .. '' ''3s3344l5#?#?@@;

55555r'   r1   )leftinnerright	predicate)
intersectswithinr\  c                     t          |          }t          |          }t          j        ||||          }|                    |||          }t          ||           dS )
        Basic test for availability of the GeoDataFrame method. Other
        sjoin tests are located in /tools/tests/test_sjoin.py
        )r1   r  N)r
   rC   sjoinr   )	rQ   r1   r  naturalearth_citiesnaturalearth_lowresr  r  ry  r   s	            r%   
test_sjoinzTestDataFrame.test_sjoin  se     ,---..?4C9MMMEsi@@!&(33333r'   distancer   r   z`dwithin` requires GEOS 3.10c                    t          t          g dg d                    }t          t          dddd          g          }t          j        |||d|          }|                    ||d|          }t          ||           dS )	z
        Basic test for predicate='dwithin' availability of the GeoDataFrame method.
        Other sjoin tests are located in /tools/tests/test_sjoin.py
        )r   r   r   )r   r   r   rV  r   r   dwithin)r1   r  r  N)r   r	   r   rC   r  r   )rQ   r1   r  r  r  ry  r   s          r%   test_sjoin_dwithinz TestDataFrame.test_sjoin_dwithin  s     ^IIIyyy%I%IJJJs1aA&7888?%SI
 
 
 Esi(SS!&(33333r'   max_distanceNr   distance_colz2ignore:Geometry is in a geographic CRS:UserWarningc                     t          |          }t          |          }t          j        |||||          }|                    ||||          }	t          |	|           dS )r  )r1   r  r  N)r
   rC   sjoin_nearestr   )
rQ   r1   r  r  r  r  r  r  ry  r   s
             r%   test_sjoin_nearestz TestDataFrame.test_sjoin_nearest/  s     ,---..*%S|,
 
 
 ##sL $ 
 
 	"&(33333r'   c                     t          |          }t          |          }||d         dk             }t          j        ||          }|                    |          }t          ||           dS )z
        Basic test for availability of the GeoDataFrame method. Other
        clip tests are located in /tools/tests/test_clip.py
        	continentSouth AmericaN)r
   rC   clipr   )rQ   r  r  r  worldsouth_americary  r   s           r%   	test_clipzTestDataFrame.test_clipE  sl    
 ,---..eK0OCD>$66=))!&(33333r'   c                    t          |          }t          |          }||d         dk             }t          j        ||d          }t          j        ||d          }t          j        g d          }t          |j                  |j        k                                    rJ t          |j                  |j        k                                    sJ t          ||j                   dS )z=
        Test sorting of geodataframe when clipping.
        r  r  F)sortT)7   ;   >   X   e   r   z                           N)	r
   rC   r  r   Indexr  r   allr   )	rQ   r  r  citiesr  r   unsorted_clipped_citiessorted_clipped_citiesexpected_sorted_indexs	            r%   test_clip_sortingzTestDataFrame.test_clip_sortingR  s     .//-..eK0OCD"+.U"S"S"S )v}4 P P P "SSS!
 !

 *0115L5RR
#%%	 	 	 (.//3H3NN
#%%	 	 	 	02G2MNNNNNr'   c                     |\  }}t          j        |||          }|                    ||          }t          ||           dS )z
        Basic test for availability of the GeoDataFrame method. Other
        overlay tests are located in tests/test_overlay.py
        )r1   N)rC   overlayr   )rQ   r&   r1   r#   r$   ry  r   s          r%   test_overlayzTestDataFrame.test_overlayi  sO    
 S$S#3777Sc**!&(33333r'   )Lr  r  r  rS   rX   r]   rp   markskipifr[   r\   ru   filterwarningsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r"  r$  r&  r(  r+  r3  r8  r<  r@  rE  rG  rL  rN  rR  rT  rX  r^  rc  rf  rn  rz  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  parametrizer  GEOS_GE_310r  r  r  r  r  rd   r'   r%   r4   r4   2   s<       
 
 
$$ $ $, , ,
 [F--6GHH4 4 IH4( [ HII9 9 JI981 1 1$$F $F $FL) ) )0  >@ @ @* * *" [F--6GHH2 2 IH2$; ; ; 7 7 7( ( (*: : :% % %
$ $ $,	 	 	 [F--6GHH& & IH&J J J5. 5. 5.n [F--6GHH	Q 	Q IH	Q
 
 
@ @ @+ + +
 [F 	* 	* 	*2 2 23 3 3* * *
' ' ',- - -&( ( (( ( (  & & &
) ) )/ / /
/ / /( ( (B B B6 6 6" " "- - -<[' [' ['z0 0 0"* * *26 6 6:( ( (6N N N3$ 3$ 3$j" " "$0 0 0, , ,0 0 0, , ,M M M6 6 686 6 6 [U$>$>$>??[[*N*N*NOO
4 
4 PO @?
4 [U$>$>$>??[Z!Q00[-   4 4	  10 @?4 [U$>$>$>??[^dAY77[^dJ-?@@[ TUU4 4 VU A@ 87 @?4$4 4 4O O O.	4 	4 	4 	4 	4r'   r4   r   c                 h   t          | t                    sJ t          | j        t                    sJ t          | |         t                    sJ | j        |k    sJ | j        j        |k    sJ t          | j        j        t                    sJ t          | j        j        t                    sJ d S r/   )
r}   r   r   r   ro   rn   r   r   rW  r   )rG   geometry_columns     r%   check_geodataframer$  u  s    b,'''''bk9-----b)955555#6666;....bk(-88888bk'7777777r'   c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zej                            dddg          d             Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TestConstructorc                    t          d          t          j        d          d t          d          D             d}t          |          }t	          |           t          |t          d                    }t	          |           t          |j        t          j	        t          d                               t          |g d          }t	          |           t          |j
        t          j	        g d                     t          |d	d
g          }t	          |           t          |j
        t          j	        d	d
g                     t          |d	         t          j        t          d          d	                     d S )Nr         @c                 .    g | ]}t          ||          S rd   r;   r=   r>   s     r%   r@   z-TestConstructor.test_dict.<locals>.<listcomp>       777q!777r'   r   abcr  )rh   rg   r   r   rg   r   rn   )rL   r   r   r   r$  r   r   r   r   r  r   r   Seriesr   s      r%   	test_dictzTestConstructor.test_dict  s_   q377eAhh777
 

 $2 $d5kk222228RXd5kk%:%:;;;$(>(>(>???22:rx0F0F0F'G'GHHH$j(9:::22:rxj0A'B'BCCCBsGRYuQxxc%B%B%BCCCCCr'   c                 Z   t          j        t          d                    t          j        t          j        d                    t          d t          d          D                       d}t          |          }t          |           t          |t          j        ddg                    }t          |           t          |j
        t          j        ddg                     |d                                         ddgk    sJ t          j        t          d                    t          j        d          t          d	 t          d          D                       d}t          j        t                    5  t          |ddg           d d d            d S # 1 swxY w Y   d S )
Nr   r(  c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z7TestConstructor.test_dict_of_series.<locals>.<listcomp>       "A"A"A15A;;"A"A"Ar'   r   r   r   r  rg   c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z7TestConstructor.test_dict_of_series.<locals>.<listcomp>  r2  r'   )r   r.  rL   r   r   r   r   r$  r  r   r   r  rp   rq   r   r   s      r%   test_dict_of_seriesz#TestConstructor.test_dict_of_series  s   588$$29S>>**!"A"Aa"A"A"ABB
 
 $2$bh1v&6&6777228RXq!f%5%5666#w~~Aq6)))) 588$$3!"A"Aa"A"A"ABB
 

 ]:&& 	- 	-aV,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   ?F  F$'F$c                 6   t          d          t          j        d          d t          d          D             d}t          |d          }t	          |d           t          j        t                    5  t          |d          }d d d            n# 1 swxY w Y   t          |          }t          j        t                    5  |j	        }d d d            n# 1 swxY w Y   |
                    d          }t	          |d           t          |dddg	          }t	          |d           t          |j        t          j        ddg                     t          |d         t          j        t          j        d          d
                     t          |dddg	          }t	          |d           t          |j        t          j        ddg                     t          |d         t          j        t          d          d
                     d S )Nr   r(  c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z@TestConstructor.test_dict_specified_geometry.<locals>.<listcomp>       99915A;;999r'   rg   rh   r   r   rV  r   rh   )r   r   r-  rg   )rL   r   r   r   r$  rp   rq   r   r   r   rr   r   r   r   r  r   r.  )rQ   rE   rG   _s       r%   test_dict_specified_geometryz,TestConstructor.test_dict_specified_geometry  sb   q399a999
 
 $6662|,,,]:&& 	9 	9dZ888B	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9
 $]>** 	 	A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 __\**2|,,, $\?RSSS2|,,,2:rxl0C'D'DEEEBsGRYry~~C%H%H%HIII$c?RSSS2|,,,2:rxs0C'D'DEEEBsGRYuQxxc%B%B%BCCCCCs$   7BBBCC #C c                 t   t          d          t          j        d          d t          d          D             d}t          j        |d         |d         |d         gt                    j        }t          |g d	          }t          |           t          |g d
d          }t          |d           d S )Nr   r(  c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z.TestConstructor.test_array.<locals>.<listcomp>  r+  r'   r   rg   rh   r   )rW  r   r8  r   r   r   )rL   r   r   rz   objectTr   r$  )rQ   rE   r   rG   s       r%   
test_arrayzTestConstructor.test_array  s    q377eAhh777
 

 Hd3icD,<=VLLLN!%;%;%;<<<2!%=%=%=UUU2|,,,,,r'   c                    t          d          t          j        d          d t          d          D             d}t          |          }t	          j        |          }t          |           t          |          t          j        u sJ ||fD ]-}t          |          }t          |           t          |t	          j        ddg                    }t          |           t          |j
        t	          j        ddg                     |d                                         ddgk    sJ t          |d	d
g          }t          |           t          |j        t	          j        d	d
g                     t          j        t                    5  t          |d           d d d            n# 1 swxY w Y   /d S )Nr   r(  c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z3TestConstructor.test_from_frame.<locals>.<listcomp>  r+  r'   r   r   r   r  rg   r   rh   r   r   rV  )rL   r   r   r   r   r   r$  rZ   r  r   r   r  r   rp   rq   r   rQ   rE   gpdfpddfrG   r   s         r%   test_from_framezTestConstructor.test_from_frame  s   q377eAhh777
 

 D!!|D!!4   DzzR\)))), 	8 	8Br""Cs###r1a&)9)9:::Cs###sy"(Aq6*:*:;;;s8??$$A....rJ+<===Cs###s{BHj#5F,G,GHHHz** 8 8R,77778 8 8 8 8 8 8 8 8 8 8 8 8 8 8	8 	8s   F22F6	9F6	c                 v   t          d          t          j        d          d t          d          D             d}t          |d          }t	          |d           t          j        |          }||fD ]#}t          |d          }t	          |d           $t          |          }t	          |d           d S )Nr   r(  c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   zFTestConstructor.test_from_frame_specified_geometry.<locals>.<listcomp>  r7  r'   r8  r   rV  )rL   r   r   r   r$  r   r   rC  s         r%   "test_from_frame_specified_geometryz2TestConstructor.test_from_frame_specified_geometry  s    q399a999
 
 D<8884...|D!!, 	2 	2BrL999CsL1111 $2|,,,,,r'   c                    t          d t          d          D             t          d          d          dg         }t          d t          d          D                       }t          |           t          ||           t          dd t          d          D             i          }t          |           t          ||           t          dd	 t          d          D             id          }t          |d           |                    ddi
                              d          }t          ||           d S )Nc                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z6TestConstructor.test_only_geometry.<locals>.<listcomp>  s     888!%1++888r'   r   )r   otherr   c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z6TestConstructor.test_only_geometry.<locals>.<listcomp>  s     #B#B#BAE!QKK#B#B#Br'   rV  c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z6TestConstructor.test_only_geometry.<locals>.<listcomp>  s     'F'F'Fa'F'F'Fr'   r   c                 .    g | ]}t          ||          S rd   r;   r*  s     r%   r@   z6TestConstructor.test_only_geometry.<locals>.<listcomp>  s     :::AE!QKK:::r'   r   )r   rL   r$  r   r   rr   )rQ   exprG   s      r%   test_only_geometryz"TestConstructor.test_only_geometry  sK   88uQxx888588LL
 
, #B#Bq#B#B#BCCC2!"c***:'F'FU1XX'F'F'FGHH2!"c***::q:::;l
 
 
 	2|,,,jj*l!;j<<II,WW!"c*****r'   c                     t          d          t          j        d          d}t          |          }t	          |          t          u sJ t          ddgi          }t          |j                  dgk    sJ d S )Nr   r(  rg   rh   r>   r   )rL   r   r   r   rZ   r   r>   )rQ   rE   rG   r  s       r%   test_no_geometriesz"TestConstructor.test_no_geometries!  su    1XXBIcNN33$Bxx<''''C!:&&CE{{qc!!!!!!r'   c                     t                      }t          |          t           u sJ t          g g dg           }t          |          t           u sJ d S )NrS  rV  )r   rZ   r   s     r%   rX  zTestConstructor.test_empty*  sY    ^^Bxx<'''',,r:::Bxx<''''''r'   c                    t          dd          t          dd          t          dd          g}t          |          }t          g d|dddgd          }t          |           t	          |j                  ddgk    sJ t          g d|dddgt          j        g d	          d
          }t          |           t	          |j                  ddgk    sJ d S )Nr   r   r   rI  )r   r   r   r   r=  )r   r   r   )r   r   r   )r   r   r   r$  r   r   r   r  rQ   geomsr   r  s       r%   test_column_orderingz$TestConstructor.test_column_ordering1  s   q!eAqkk5A;;7u)),,%
 
 

 	3CK  Z$55555 )),,%(999%%	
 
 
 	3CK  Z$5555555r'   c                 <   t          dd          t          dd          t          dd          g}t          |          }t          dg di|          }t          |d           t          |d	
          }t          dg di|          }t          |d           d S )Nr   r   r   r   rI  rV  r   )r#  my_geomr-  )r   r   r   r$  rW  s       r%   /test_do_not_preserve_series_name_in_constructorz?TestConstructor.test_do_not_preserve_series_name_in_constructorF  s     q!eAqkk5A;;7uC+b9993
;;;;u9---C+b9993
;;;;;;r'   c                     t          j        g dg dd          }t          j        d t          d          D                       }t	          ||          }t          |j        t          |                     d S )NrI  )r   r   r   )r   r   c                 .    g | ]}t          ||          S rd   r;   )r=   r   s     r%   r@   z;TestConstructor.test_overwrite_geometry.<locals>.<listcomp>U  r7  r'   r   rV  )r   r   r.  rL   r   r   r   r   )rQ   rE   rX  r   s       r%   test_overwrite_geometryz'TestConstructor.test_overwrite_geometryR  sw    |IIIFFGG	99a999::4%000s|Yu-=-=>>>>>r'   c           	         t          j        d t          t          d          t          d                    D                       }|                    ddi          }t          j        t                    5  t          |           d d d            n# 1 swxY w Y   |                    ddi          }t          j        t                    5  t          |d           d d d            d S # 1 swxY w Y   d S )Nc                 V    g | ]&\  }}t          ||          t          ||          d 'S ))r   r   r;   r<   s      r%   r@   z7TestConstructor.test_repeat_geo_col.<locals>.<listcomp>\  sD       Aq #1a[[%1++>>  r'   r   r   r   r   rV  )	r   r   rK   rL   r   rp   rq   r   r   rQ  s       r%   test_repeat_geo_colz#TestConstructor.test_repeat_geo_colZ  ss   \ a%((33  
 
 ii 4i55]:&& 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 iiV 4i55]:&& 	/ 	/v....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s$   8BBBC//C36C3rW  r   r>  c                 >   t          j        t          dd          t          dd          gt          dd          t          dd          gg          }|                    |          }t           j                            dgddgg          |_        t          |          }t          j	        t          d          5  |j         d d d            n# 1 swxY w Y   |                    d          }|j        |j        k    sJ t          |j        t                    sJ d S )	Nr   r   r   r   r   z .*geometry .* has not been set.*r   )r   r   )r   r   r   astype
MultiIndexfrom_productr   r   rp   rq   r   r   rr   r   r}   r   )rQ   rW  rG   r  res_gdfs        r%   #test_multiindex_with_geometry_labelz3TestConstructor.test_multiindex_with_geometry_labell  s;    \E!QKKq!5aU1a[[7QRSSYYu]//*1v0FGG
2]>1STTT 	 	LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	""?33}	))))'*I6666666s   ;CCCc                    d}t          dddgi          }|                                }t          j        ddgddg          }t	          j        t          |          5  ||d<   d d d            n# 1 swxY w Y   |j        dk    sJ |                                }t	          j        t          |          5  ||_        d d d            n# 1 swxY w Y   |j        dk    sJ |                                }t	          j        t          d          5  d	|d<   d d d            n# 1 swxY w Y   |j        J t	          j        t          |          5  |                                
                    |
          }d d d            n# 1 swxY w Y   |j        dk    sJ |                                }||d<   ||d<   |                    d          }|ddg         }	|	j        dk    sJ ||	d<   |	j        dk    sJ d S )Nz:You are adding a column named 'geometry' to a GeoDataFramer   r   r   r   r   r   z)Geometry column does not contain geometryr   rV  rt   geom3)r   r   r   from_xyrp   r   r   ro   r   UserWarningr   rr   )
rQ   r   r  r  geo_colgdf4gdf5gdf3gdf6subsets
             r%   test_default_geo_colname_nonez-TestConstructor.test_default_geo_colname_none{  s   LC!Q=))xxzz#QFQF33\-u555 	' 	'&D	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	')Z7777xxzz\-u555 	$ 	$#DM	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$)Z7777 xxzz\J
 
 
 	% 	%  %D	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% )111\-u555 	7 	788::$$g$66D	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7)Z7777
 xxzzWW  ))sGn%+w6666$z+w666666sH   A00A47A47CCCD$$D(+D()FFFc                 f   d}t          j        ddgddggddgddgg          }|d         }|d	         }t          ||t          ||          
          }t          j        r|j        |k    sJ |j        j        |k    sJ |j        j        dk    sJ |j	        dk    sJ |j        j
        dk    sJ d S )N	EPSG:4326r   r   ri   r>   r?   r   )ri   r>   )ri   r?   rj   r   r   r   r   r	   r[   r\   rB   r   rW  ro   rn   rQ   rB   rG   x_coly_colr  s         r%   (test_multiindex_geometry_colname_2_levelz8TestConstructor.test_multiindex_geometry_colname_2_level  s    \VaV
J'?#s&L
 
 
 ?#?#23u1M1MNNN 	+7c>>>><#s****|!Z////(J6666| J......r'   c                 l   d}t          j        ddgddggddgddgddgg          }|d	         }|d
         }t          ||t          ||                    }t          j        r|j        |k    sJ |j        j        |k    sJ |j        j        dk    sJ |j	        dk    sJ |j        j
        dk    sJ d S )Nru  r   r   r   ri   r>   r?   r   r   ri   r>   r   ri   r?   rj   r   rv  rw  s         r%   (test_multiindex_geometry_colname_3_levelz8TestConstructor.test_multiindex_geometry_colname_3_level  s     \VaVZ(c

 
 
 )*)*23u1M1MNNN 	+7c>>>><#s****|!Z////(J6666| J......r'   c                    d}t          j        ddgddggddgddgddgg          }|d	         }|d
         }t          j        ||          |d<   |                                }|                    d|          }t          j        r|j        |k    sJ |j	        dk    sJ |j
        j        dk    sJ |                    d|          }t          j        r|j        |k    sJ |j	        dk    sJ |j
        j        dk    sJ d S )Nru  r   r   r   ri   r>   r?   r   r|  r}  r   rA   )r    r  )r   r   r   rk  r   rr   r[   r\   rB   ro   r   rn   )rQ   rB   rG   rx  ry  r$   r  s          r%   0test_multiindex_geometry_colname_3_level_new_colz@TestConstructor.test_multiindex_geometry_colname_3_level_new_col  sA   \VaVZ(c

 
 
 )*)*"*5%88:ggiioojco22 	"7c>>>>(J6666| J....3== 	"7c>>>>(,@@@@@| $8888888r'   c                     t          |          }t          j        t          d          t          d          d          }t          j        ||gd          }|||j        <   t          ||           d S )Nr   r   r   r   )r
   r   r   rL   concatr   r   )rQ   rF   rG   other_dfry  s        r%   test_assign_cols_using_indexz,TestConstructor.test_assign_cols_using_index  sm    }%%<aq B BCC9b(^!444'8!"h/////r'   c           
           G d dt                     }t          j        |j        ddg|j        t          j        ddgddg          i          }t          ||j                  }|j        |j        k    sJ d S )Nc                       e Zd ZdZdZdS )9TestConstructor.test_geometry_colname_enum.<locals>.Fruitr   r   N)r  r  r  r   pearrd   r'   r%   Fruitr    s        EDDDr'   r  r   r   r   r   rV  )	r   r   r   r   r  r   rk  r   r   )rQ   r  rG   r   s       r%   test_geometry_colname_enumz*TestConstructor.test_geometry_colname_enum  s    	 	 	 	 	D 	 	 	 \[1a&%*i.?AA.O.OP
 
 2
333'5:555555r'   c                     t          t          j        t          j        ggddgd          }|j        dk    sJ |j        dk    sJ |j        d         J t          j        r|j        dk    sJ d S d S )Nr   	somethingru  )rE   r   rB   )r   r   r   )	r   r   r  r   r   r   r[   r\   rB   rQ   r  s     r%   test_geometry_nan_scalarz(TestConstructor.test_geometry_nan_scalar  s    626"#-
 
 

 yF""""':5555|A&&& 	*7k))))	* 	*))r'   c                 b   t          t          j        d t          j        gt          j        t          j        t          j        gdd          }|j        dk    sJ |j        dk    sJ |j                                        	                                sJ t          j        r|j        dk    sJ d S d S )N)r   r  ru  rA   )r   r   r   )r   r   r  r   NAr   r   r   isnar  r[   r\   rB   r  s     r%   test_geometry_nan_arrayz'TestConstructor.test_geometry_nan_array  s    VT251 fbfbf5  
 
 
 yF""""':5555|  ""&&((((( 	*7k))))	* 	*))r'   N)r  r  r  r/  r4  r:  r@  rF  rI  rQ  rT  rX  rY  r\  r_  rb  rp   r  r   rh  rs  rz  r~  r  r  r  r  r  rd   r'   r%   r&  r&    s       D D D.- - -0 D  D  DD- - -8 8 86- - -&+ + +(" " "( ( (6 6 6*
< 
< 
<? ? ?/ / /$ [Wz8&<==7 7 >=7$7 $7 $7L/ / /"/ / /09 9 960 0 06 6 6
* 
* 
** * * * *r'   r&  zpyproj not availabler^   c                  t    t          dg          } d| _        | j                                        dk    sJ d S )Nr   r   zIGNF:ETRS89UTM28)IGNFETRS89UTM28)r   rB   to_authority)r  s    r%   test_geodataframe_crsr    sA    

|
,
,
,C CG7!!%<<<<<<<r'   c                      t          dg          } t          j        |                                           }d|vsJ d| _        t          j        |                                           }d|vsJ d S )Nr   r   rB   i  )r   r  r  r  rB   )r  gdf_geojsons     r%   test_geodataframe_nocrs_jsonr    ss    

|
,
,
,C*S[[]]++K#### CG*S[[]]++K######r'   c                      t          dg          } d| _        t          j        |                                           }d|v sJ |d         dddidk    sJ | j        }d|vsJ d S )Nr   r   id  rB   rn   zurn:ogc:def:crs:EPSG::25833)rZ   r.  )r   rB   r  r  r  rr  )r  r  gdf_geointerfaces      r%   test_geodataframe_crs_jsonr  '  s    

|
,
,
,CCG*S[[]]++KKu<=" "     ,(((((((r'   rB   zA+proj=cea +lon_0=0 +lat_ts=45 +x_0=0 +y_0=0 +ellps=WGS84 +units=mz
IGNF:WGS84c                    t          t          dd          gdg|           }t          j        t          d          5  t          j        |                                          }d d d            n# 1 swxY w Y   d|vsJ d S )Ni  r   )r   rB   z2GeoDataFrame's CRS is not representable in URN OGCr   rB   )r   r   rp   r   rl  r  r  r  )rB   r  r  s      r%   +test_geodataframe_crs_nonrepresentable_jsonr  5  s     	tT		  C
 
O
 
 
 0 0 j//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ######s   'A11A58A5c                     t          dgt          dd          gd          } | j        J | d         j        d         dk    sJ t	          | d          J t          ddgit          dd          g          } | j        J | d         j        d         dk    sJ t	          | d          J t          j        ddgddggddgddgg          }|d	         }|d
         }t          |t          ||                    } | j        J | d         j        d                                         ddgk    sJ t	          | d          J d S )Nr   rj   rB   r   rV  r>   r?   r   )rB   r>   )rB   r?   )	r   r   rB   r  getattrr   r   r	   to_list)r  rG   rx  ry  s       r%   test_geodataframe_crs_colnamer  G  sr   
sq!>>
?
?C7???u:?1""""3&&& s|uQ{{m
<
<
<C7???u:?1""""3&&& 
1v1v&%#s0L	M	M	MBzNEzNE
rN5%$@$@
A
A
AC7???u:?1%%''Aq611113&&&&&r'   geo_col_namepolygonsc                    | \  }}|dk    r|                     |          }|j        j        |d<   |                    d          }|j        dk    sJ ||j        v sJ d}t          j        t          |          5  |                    dd          }d d d            n# 1 swxY w Y   t          ||           t          j        t          |          5  |                    dd          }d d d            n# 1 swxY w Y   |j        |k    sJ d|j        vsJ t          ||                    d          
                    |                               |                     d S )	Nr   r  z)The `drop` keyword argument is deprecatedr   Fr   Tr   )r   r   r  rr   r   r   rp   r   r   r   r   )r&   r  rG   r9  r   
deprecatedr  res3s           r%    test_set_geometry_supply_colnamer  _  s   EBz!!--[)BzN
//*
%
%C#z11113;&&&& =J	m:	6	6	6 7 7z667 7 7 7 7 7 7 7 7 7 7 7 7 7 7c4(((	m:	6	6	6 6 6z556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 $4444T\)))) 

##	l	#	#		&	&	    s$   :BB"%B"C88C<?C<c                    | \  }}|dk    r|                     |          }|j        j        }|                    |          }|j        |k    sJ d}t          j        t          |          5  |                    |d          }d d d            n# 1 swxY w Y   |j        |k    sJ |                    d          }|                    |          }|j        dk    sJ ||j	        v sJ t          j        t          |          5  |                    |d          }	d d d            n# 1 swxY w Y   |	j        dk    sJ ||	j	        v sJ d S )Nr   z]The `drop` keyword argument is deprecated and has no effect when `col` is an array-like valuer   Tr   	centroids)
r   r   r  rr   r   rp   r   r   r   r   )
r&   r  rG   r9  r  r   	match_strr  r  res4s
             r%   "test_set_geometry_supply_arrayliker  ~  s
   EBz!!--$I
//)
$
$C#|3333	'  

 
 
 5 5 yt44	5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
 $4444  --I??9%%D $33334<'''' 

 
 
 5 5 yt44	5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
 $33334<''''''s$   ,BBBD))D-0D-zerror::FutureWarningc                  L    t          dg i                                           dS )aL  
    Check for a FutureWarning.

    `geopandas.array.GeometryArray._reduce` issues a FutureWarning if
    the parameter `keepdims` is not set.
    `GeometryArray` inherits from `pandas.api.extensions.ExtensionArray`
    and its `_reduce` is overridden in `GeometryArray`.
    This warning is issued with pandas 2.2.2 (tested).
    r   N)r   r  rd   r'   r%   test_reduce_geometry_arrayr    s)     *b!""&&(((((r'   c                       e Zd Zd ZdS )GDFChildc                     dS )Nthis is a custom outputrd   rW   s    r%   custom_methodzGDFChild.custom_method  s    ((r'   N)r  r  r  r  rd   r'   r%   r  r    s#        ) ) ) ) )r'   r  c                    | \  }}dgt          |          z  |j        d d df<   t          |          }|                    d          }||j        dg         |j        |j        dk             |                                |ddg         |                                ||j        dg         |j        |j        dk             |                                |ddg         |                                g}|D ]3}t          |t                    sJ |	                                dk    sJ 4|
                    dg          }t          |t                    rJ d S )	Nr   r   	geometry2r   r   r   r  r   )r   r   r  r   r  r   dissolver   r}   r  r   )r&   rG   r9  dfcdfc2childrenvr$   s           r%   test_inheritancer    sK   EBBBF111f9
2,,C{++D 	!AVZ !

	1#Qfk"#		H  > >!X&&&&&  $======
))[M)
*
*C#x(((((((r'   rV  )<r  rM   r   rU   rH   enumr   numpyr   pandasr   shapely.geometryr   r   r   rC   geopandas._compat_compatr[   r   r   r	   r
   geopandas.arrayr   r   r   rp   geopandas.testingr   r   geopandas.tests.utilr   r   pandas.testingr   r   r   fixturer&   r1   r  usefixturesr4   r$  r&  r  r\   r  r  r  r   r  r  r  r  r  r  r  r  rd   r'   r%   <module>r     s    				 				                 0 0 0 0 0 0 0 0 0 0     " " " " " " H H H H H H H H H H H H F F F F F F F F F F  O O O O O O O O > > > > > > > > V V V V V V V V V V   $ VVV     5664 4 4 4 4 4 4 764D"8 8 8 8R* R* R* R* R* R* R* R*j ))2HII= = JI=	$ 	$ 	$ ))2HII
) 
) JI
) ))2HII	H,W 
$ 
$	  JI

$' ' '0 *j)ABB  CB< *j)ABB!( !( CB!(H 233
) 
) 43
)) ) ) ) )| ) ) )
) ) ) ) )r'   