a
    1$e                  
   @   s  d Z ddlZddlZddlmZ ddlmZ ddlZddl	m
Z
 dZdZed7 Zd	d
 Zdd Zdddgejdddg deejddgZi Zg ZeD ]Ze |Zeed  ZejedddiedkrdndeidZejdksJ de dej eeed Zeed.Zejd d!D ]Z e!e  q.W d   n1 sV0    Y  eeZ"d"d# e"# D Z$e%e$d$ksJ d%ee"&e$d eed&Z'e'( ) Z*W d   n1 s0    Y  e+eZ,d'e- v r ed' e,Z,e,j.dded( f Z,e,j/d)d* e,j0D d+Z,ed dkre
d,d-d.d/Z1e,j.e,j2d0kdf j3d 4e1Z5e,j.e,j2d1kdf j3d 6e5Z7e,j.e,j2d0kdf j3d 8e1Z9e,j.e,j2d0k j:d Z;e9e,j<e;df< e,j.e,j2d1k j:d Z=e7e,j<e=df< ee,e+ed2 ed ese,eed < W d   q1 s20    Y  qed3e* d4d5 Ze!d6>e W d   n1 sx0    Y  e? D ]:\Z@ZAd7d# eD d ZeAjBd8eejCj2ej2d9 qdS ):a  
Script that generates the included dataset 'naturalearth_lowres.shp'
and 'naturalearth_cities.shp'.

Raw data: https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip
Current version used: see code
    N)Path)ZipFile)boxZlatestz!https://www.naturalearthdata.com/z6http//www.naturalearthdata.com/download/110m/cultural/c                 C   sH   | d  d| d ddg@ }| j|df | j|df< | jddid	S )
NISO_A3z-99ZTYPEzSovereign countryZCountryZADM0_A3ZGDP_MD
GDP_MD_ESTcolumns)eqisinlocrename)Z	world_rawmask r   d/var/www/html/django/DPS/env/lib/python3.9/site-packages/geopandas/datasets/naturalearth_creation.pycountries_override   s
    r   c                 C   s   | j |j k sJ d| j|jkr^|j| ddddjdd  }|d| d	|   d
S | |}t|dkr|d| d|   t|dkS )Nzcolumns should be the samenameouter)Z_old_new)onhowsuffixesc                 S   s   |   jddS )N   )Zaxis)Zisnaany)dr   r   r   <lambda>$       zdf_same.<locals>.<lambda>z### z row count changed ###
Fr   z data changed ###
)	r   allshapemerger   appendZto_markdowncomparelen)newoldZdatasetlogZdfcr   r   r   df_same    s    
r%   zne_110m_populated_places.zipNAMEgeometryZnaturalearth_cities)filecolscurrentzne_110m_admin_0_countries.zip)ZPOP_ESTZ	CONTINENTr&   r   r   r'   Znaturalearth_lowres)r(   r)   overrider*   r(   Tz
User-AgentZXYversion)streamheadersparams   z	version: z does not exist. status: wb   )
chunk_sizec                 C   s   g | ]}d |j v r|qS )VERSION)filename).0ir   r   r   
<listcomp>Q   r   r8   r   zfailed to find VERSION filezv.txtr+   r)   c                 C   s   i | ]}||  qS r   )lowerr6   cr   r   r   
<dictcomp>\   r   r<   r   gPn#@@goF@g33333SB@g'1ZG@ZRussiaZUkrainer*   ZCHANGE_z.mdwz

c                 C   s$   g | ]}|d  t krt|d qS )r(   r*   )kr   r:   r   r   r   r8      r   zESRI Shapefile)Zdriverr5   )D__doc__Z	geopandasZgpdrequestspathlibr   zipfiler   tempfileZshapely.geometryr   r,   Zurlbaser   r%   Zdatasetsget_pathconfig	downloadsr$   dlTemporaryDirectoryZ
tmpdirnameurlgetrstatus_codejoinpathfopenfditer_contentchunkwritezinfolistZ	version_fr!   extractZf_readstripZ
dl_version	read_fileZgdfkeysr   r   r   Zcrimean_bboxr   ZilocintersectionZcrimea_onlyunionZcomplete_ukraine
differenceZcorrect_russiaindexZr_ixatZu_ixjoinitemsr>   Zgdf_Zto_fileparentr   r   r   r   <module>   s   


. ,
.0