
    Ch                     H   S SK rS SKJr  S SKJr  S SKJrJrJ	r	  \R                  R                  \R                  R                  \5      5      r\R                  R                  \R                  R                  \5      5      r\R                  R!                  \SSS5      rS\R                  R!                  \S	5      -   r\R                  R!                  \S
S5      r\R                  R!                  \SS5      r S SKJr  SS jrS rS rSS jrg! \ a	    S SKJr   Nf = f)    N)Series)GeoDataFrame)assert_geoseries_equalgeom_almost_equalsgeom_equals	geopandastestsdatazzip://znybb_16a.zipnaturalearth_citiesznaturalearth_cities.shpnaturalearth_lowresznaturalearth_lowres.shp)mockc                    [        U [        5      (       d   e[        U 5      S:X  d   eSnU(       a  U H  nX0R                  ;   a  M   e   O0U H*  nUR	                  5       S U R                   5       ;   a  M*   e   [        U R                  R                  5      R                  5       R                  S5      R                  5       (       d   eg)zATests a GeoDataFrame that has been read in from the nybb dataset.   )BoroCodeBoroName
Shape_Leng
Shape_Areac              3   @   #    U  H  oR                  5       v   M     g 7fN)lower).0dfcols     gC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\geopandas/tests/util.py	<genexpr>#validate_boro_df.<locals>.<genexpr>-   s     "IjU;;==js   MultiPolygonN)
isinstancer   lencolumnsr   r   geometry	geom_typedropnaeqall)dfcase_sensitiver   cols       r   validate_boro_dfr(   !   s    b,'''' r7a<<BGC**$$$  C99;"Ibjj"IIII "++''(//144^DHHJJJJ    c                 d    U R                   b#  U R                   R                  5       =(       d    S$ g)zReturn srid from `df.crs`.r   )crsto_epsg)r%   s    r   get_sridr-   1   s%    	vvvv~~$1$r)   c           	        ^ U    UR                   R                  n[        U5      mU R                  S5        U R                  SSUTUR                  R                  5       R                  S   R                  5       45        U R                  SSU45        SnU R                  UU4S jUR                  SS	9 5       5        S
S
S
5        g
! , (       d  f       g
= f)z
Return a SpatiaLite connection containing the nybb table.

Parameters
----------
`con`: ``sqlite3.Connection``
`df`: ``GeoDataFrame``
zCREATE TABLE IF NOT EXISTS nybb ( ogc_fid INTEGER PRIMARY KEY, borocode INTEGER, boroname TEXT, shape_leng REAL, shape_area REAL)z$SELECT AddGeometryColumn(?, ?, ?, ?)nybbr   zSELECT CreateSpatialIndex(?, ?)z:INSERT INTO nybb VALUES(?, ?, ?, ?, ?, GeomFromText(?, ?))c              3      >#    U  H]  nS UR                   UR                  UR                  UR                  UR                  (       a  UR                  R
                  OS T4v   M_     g 7fr   )r   r   r   r   r    wkt)r   rowsrids     r   r   $create_spatialite.<locals>.<genexpr>V   sU       6C LLLLNNNN(+CLL$$$ 6s   A%A(F)indexN)
r    namer-   executer!   r"   iatupperexecutemany
itertuples)conr%   geom_colsql_rowr3   s       @r   create_spatialiter?   8   s     
;;##|	
 	2XtR\\%8%8%:%>%>q%A%G%G%IJ	
 	57IJN ==u=5	
% 
s   B;C
Cc           
         Ub  SU S3nSU S3nOSnSn U R                  5       nUR                  S5        SU S	U S
3nUR                  U5        UR                  5        H;  u  pSU S3nUR                  UU	S   R                  U	S   U	S   U	S   U	S   45        M=     UR	                  5         U R                  5         g! WR	                  5         U R                  5         f = f)z
Create a nybb table in the test_geopandas PostGIS database.
Returns a boolean indicating whether the database table was successfully
created
Nzgeometry(MULTIPOLYGON, )z$ST_SetSRID(ST_GeometryFromText(%s), r    zST_GeometryFromText(%s)zDROP TABLE IF EXISTS nybb;z CREATE TABLE nybb (
            z   z,
            borocode     integer,
            boroname     varchar(40),
            shape_leng   float,
            shape_area   float
            );zINSERT INTO nybb VALUES (z, %s, %s, %s, %s
            );r   r   r   r   )cursorr7   iterrowsr1   closecommit)
r<   r%   r3   r=   geom_schemageom_insertrB   sqlir2   s
             r   create_postgisrJ   e   s    /vQ7<TF!D /34Jc+ ' 	skkmFA/} = CNN
O''
O
O%%	 $ 	

 	

s   B
C "C#)F)Ngeom)os.pathospandasr   r   r   geopandas.testingr   r   r   pathabspathdirname__file__HEREPACKAGE_DIRjoin_TEST_DATA_DIR_NYBB_NATURALEARTH_CITIES_NATURALEARTH_LOWRESunittestr   ImportErrorr(   r-   r?   rJ    r)   r   <module>r^      s      "  
wwrwwx01ggoobggood34k;H277<<??ww||)+D  ww||)+D 
K *
Z.Q  s   ;D D! D!