
    jj&                     t    S SK r S SKrS SKJr  S SKJrJr  S SKJ	r	J
r
  S SKrS SKJr  S SKJr   " S S5      rg)	    N)Point)GeoDataFrame	GeoSeries)
HAS_PYPROJPANDAS_GE_21)assert_geodataframe_equal)assert_index_equalc                      \ rS rSrS rSS jrS rS r\R                  R                  \(       + SS9S	 5       r\R                  R                  \(       + SS9S
 5       rS rS rS r\R                  R#                  S5      S 5       rSrg)TestMerging   c           	      >   [        [        S5       Vs/ s H  n[        X5      PM     sn5      U l        [        R
                  " / SQ5      U l        [        U R                  [        S5      S.5      U l        [        R                  " / SQ/ SQS.5      U l
        g s  snf )N   )      r   )geometryvalues)g?g?g333333?)col1col2)r   ranger   gseriespdSeriesseriesr   gdf	DataFramedf)selfis     ]/var/www/html/Sattelite-Image/venv/lib/python3.13/site-packages/geopandas/tests/test_merge.pysetup_methodTestMerging.setup_method   si     uQx!@x!%+x!@Aii	*T\\U1X NO,,	?KL "As   BNc                 L    UR                   U:X  d   eUR                  U:X  d   eg )N)_geometry_column_namecrs)r   r   geometry_column_namer$   s       r   _check_metadataTestMerging._check_metadata   s'    ((,@@@@ww#~~    c                 h   U R                   R                  U R                  SSS9n[        U[        5      (       d   e[        UR
                  [        5      (       d   eU R                  U5        SU R                   l        U R                   R                  SS0S9R                  S5      U l         U R                   R                  U R                  SSS9n[        U[        5      (       d   e[        UR
                  [        5      (       d   eU R                  USU R                   R                  5        g )Nr   r   )left_onright_on	epsg:4326r   points)columns)r   merger   
isinstancer   r   r   r&   r$   renameset_geometryr   ress     r   
test_mergeTestMerging.test_merge   s    hhnnTWWhnH #|,,,, #,,	2222 	S! #88??J+A?BOO
 hhnnTWWhnH#|,,,,#,,	2222S(DHHLL9r(   c                    [         R                  " U R                  U R                  /5      nUR                  S:X  d   e[	        U[
        5      (       d   e[	        UR                  [        5      (       d   eU R                  U5        [        [         R                  " [         R                  " U R                  5      [         R                  " U R                  5      /5      5      n[        X!5        [         R                  " U R                  R                  U R                  R                  /5      nUR                  S:X  d   e[	        U[        5      (       d   e[	        UR                  [        5      (       d   eg )N)   r   )r8   )r   concatr   shaper0   r   r   r   r&   r   r   )r   r4   exps      r   test_concat_axis0TestMerging.test_concat_axis00   s   ii488,-yyF"""#|,,,,#,,	2222S!299bll488&<bll488>T%UVW!#+ ii**DHH,=,=>?yyD   #y))))#,,	2222r(   zpyproj not available)reasonc                 l   [         R                  " U R                  U R                  /5      nU R                  U5        [         R                  " U R                  R	                  S5      U R                  R	                  S5      /5      nU R                  USS9  [
        R                  " [        SS9   [         R                  " U R                  U R                  R	                  S5      /5      nU R                  USS9  S S S 5        [
        R                  " [        SS9   [         R                  " U R                  R	                  S5      U R                  R	                  S5      /5        S S S 5        [
        R                  " [        SS9   [         R                  " U R                  U R                  R	                  S5      U R                  R	                  S5      /5      nU R                  USS9  S S S 5        [
        R                  " [        SS9   [         R                  " U R                  U R                  R	                  S5      U R                  R	                  S5      /5        S S S 5        g ! , (       d  f       GNz= f! , (       d  f       GN = f! , (       d  f       N= f! , (       d  f       g = f)Nr,   r$   2CRS not set for some of the concatenation inputs.*matchz6Cannot determine common CRS for concatenation inputs.*	epsg:4327)
r   r9   r   r&   set_crspytestwarnsUserWarningraises
ValueError)r   r4   res1res2res3s        r   test_concat_axis0_crs!TestMerging.test_concat_axis0_crs@   s    ii488,-S! yy$((**;79I9I+9VWXT{3 \\T
 99dhh(8(8(EFGD  ; 7	
 ]]W
 IItxx''4dhh6F6F{6STU
 \\T
 99488++K8$((:J:J;:WXD   ; 7
 ]]W
 II488++K8$((:J:J;:WX
 
1
 

 

 

 
s4   1AI0AJ
A&JAJ%0
I?
J
J"%
J3c           	      V   U R                   R                  S5      R                  U R                   R                  R                  S5      S9nUSS/   nUS/   n[        R
                  " 5          [        R                  " S5        [        R                  " X#/5        S S S 5        [        R
                  " 5          [        R                  " S5        [        R                  " X2/5        S S S 5        US/   R                  [        [        [        U5      5       Vs/ s H  nS PM     sn5      S9n[        R
                  " 5          [        R                  " S5        [        R                  " X%/5        S S S 5        [        R                  " [        SS9   U R                   S/   R                  5       nS UR                   S	'   [        R                  " X6/5        S S S 5        g ! , (       d  f       GNK= f! , (       d  f       GN= fs  snf ! , (       d  f       N= f! , (       d  f       g = f)
Nr,   rD   )geomrQ   r   errorrA   rB   r   )r   rE   assignr   warningscatch_warningssimplefilterr   r9   r   r   lenrF   rG   rH   copyiloc)r   r   both_geom_colssingle_geom_col_explicit_all_none_casepartial_none_cases          r    test_concat_axis0_unaligned_cols,TestMerging.test_concat_axis0_unaligned_colsj   s    hh{+22""**;7 3 
 fj12zl+$$&!!'*II~78 ' $$&!!'*II78 ' "%j\!2!9!9%C/:/QD/:; ": "
 $$&!!'*II~>? ' \\T
 !%* 6 ; ; =(,""1%II:;
 
' '& '& ;&&
 
s7   ..G 9.G2H.H	AH 
G/2
H	
H
H(c                 6   [         R                  " S5      nSnUR                  S5      nUR                  S5      nUR                  R	                  U5      nUR                  R	                  U5      n[        XV15      S:X  d   eXV:X  d   e[        R                  " U R                  U R                  /5      R                  U5      n[        R                  " U R                  R                  U5      U R                  R                  U5      /5      n[        Xx5        g )Npyproja  GEOGCRS["WGS 84",
        ENSEMBLE["World Geodetic System 1984 ensemble",
        MEMBER["World Geodetic System 1984 (Transit)"],
        MEMBER["World Geodetic System 1984 (G730)"],
        MEMBER["World Geodetic System 1984 (G873)"],
        MEMBER["World Geodetic System 1984 (G1150)"],
        MEMBER["World Geodetic System 1984 (G1674)"],
        MEMBER["World Geodetic System 1984 (G1762)"],
        MEMBER["World Geodetic System 1984 (G2139)"],
        ELLIPSOID["WGS 84",6378137,298.257223563,LENGTHUNIT["metre",1]],
        ENSEMBLEACCURACY[2.0]],PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,ORDER[1],
        ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,ORDER[2],
        ANGLEUNIT["degree",0.0174532925199433]],
        USAGE[SCOPE["Horizontal component of 3D system."],
        AREA["World.{}"],BBOX[-90,-180,90,180]],ID["EPSG",4326]]  r   )rF   importorskipformatCRSfrom_wktrW   r   r9   r   rE   r   )	r   rb   wkt_templatewkt_v1wkt_v2crs1crs2expectedr4   s	            r   "test_concat_axis0_crs_wkt_mismatch.TestMerging.test_concat_axis0_crs_wkt_mismatch   s    $$X.D$ $$R($$S)zz""6*zz""6* D< A%%%||99dhh12::4@ii))$/1A1A$1GHI!(0r(   c                    [         R                  " U R                  U R                  /SS9nUR                  S:X  d   e[        U[        5      (       d   e[        UR                  [        5      (       d   eU R                  U5        g )Nr   axis)r      )
r   r9   r   r   r:   r0   r   r   r   r&   r3   s     r   test_concat_axis1TestMerging.test_concat_axis1   si    ii477+!4yyF"""#|,,,,#,,	2222S!r(   c                 F   [         (       a  SnOSn[        R                  " [        US9   [        R
                  " U R                  U R                  /SS9  S S S 5        U R                  R                  S5      nSn[        R                  " [        US9   [        R
                  " X"/SS9  S S S 5        [        (       aB  [        R
                  " UR                  S5      U R                  /SS9nU R                  USSS	9  g g ! , (       d  f       N= f! , (       d  f       Nm= f)
Nz\Concat operation has resulted in multiple columns using the geometry column name 'geometry'.zXGeoDataFrame does not support multiple columns using the geometry column name 'geometry'rB   r   rr   rQ   zXConcat operation has resulted in multiple columns using the geometry column name 'geom'.r,   )r%   r$   )r   rF   rI   rJ   r   r9   r   rename_geometryr   rE   r&   )r   expected_errdf2expected_err2rM   s        r   (test_concat_axis1_multiple_geodataframes4TestMerging.test_concat_axis1_multiple_geodataframes   s     <* *  ]]:\:IItxx*3 ; hh&&v." 	 ]]:];IIsjq) < :99ckk+6AJD  F T	  ;: <;s   ,DD
D
D zignore:Accessing CRSc           	      4   [        [        SS5       Vs/ s H  n[        X5      PM     snSS9n[        R                  " X R
                  /SS9n[        U5      [        L d   eUR                  b   e[        [        R                  " SS/5      UR                  5        SUl        [        R                  " X R
                  /SS9n[        U5      [        L d   eUR                  b   e[        [        R                  " SS/5      UR                  5        g s  snf )	Nr   r8   r,   r@   r   rr   r   foo)r   r   r   r   r9   r   typer   r#   r	   Indexr.   name)r   r   gseries2resultresult2s        r   test_concat_axis1_geoseries'TestMerging.test_concat_axis1_geoseries   s    5A;?;aeAk;?[QHll3!< F||+++++333288QF+V^^<))X||41=G},,,++333288UAJ/A @s   D)r   r   r   r   )r   N)__name__
__module____qualname____firstlineno__r    r&   r5   r<   rF   markskipifr   rN   r_   ro   ru   r|   filterwarningsr   __static_attributes__ r(   r   r   r      s    M:,3  [[J/EF' G'R [[J/EF< G<B 1D" UD [[ 67B 8Br(   r   )rT   pandasr   shapely.geometryr   	geopandasr   r   geopandas._compatr   r   rF   geopandas.testingr   pandas.testingr	   r   r   r(   r   <module>r      s+      " - 6  7 -WB WBr(   