a
    èGaÛ  ã                   @   sp   d dl mZ d dlZd dlmZ d dlmZ d dlZd dlZdd„ Z	dd„ Z
d	d
„ Zdd„ Zdd„ Zdd„ ZdS )é    )ÚurlopenN)ÚGeoDir)ÚBASE_DIRc                  C   s    d} t | ƒ}| ¡ }| ¡ }|S )NaÙ  https://services3.arcgis.com/T4QMspbfLg3qTGWY/arcgis/rest/services/Current_WildlandFire_Perimeters/FeatureServer/0/query?where=irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'PEND%20OREILLE'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'SPOKANE'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'FERRY'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCity%20%3D%20'STEVENS'%20OR%20irwin_POOState%20%3D%20'US-WA'%20AND%20irwin_POOCounty%20%3D%20'LINCOLN'&outFields=poly_IncidentName,irwin_POOCounty,irwin_LocalIncidentIdentifier,irwin_IncidentTypeCategory,poly_Acres_AutoCalc,irwin_InitialLatitude,irwin_InitialLongitude,irwin_PercentContained&outSR=4326&f=json)r   ÚreadÚdecode)ÚlinkÚfZmyfileÚs© r
   ú>C:\Users\brian\Desktop\NEWAFireInfo\TRG\Programs\LargeFires.pyÚfetch
   s
    r   c                 C   s¤  t dddd~}tj|dd}tj ¡ }| d¡}| d|ddddddddddg¡ | g d	¢¡ |  d
¡dkrx| |  d¡d d … } | |  d¡d |  d¡…  ¡ }| |  d¡d … } | |  d¡d |  d¡…  ¡ d }| |  d¡d … } | |  d¡d |  d¡… }| |  d¡d … } | |  d¡d |  d¡… }	| |  d¡d … } t	t
t| |  d¡d |  d¡… ƒƒƒ}
| |  d¡d … } | |  d¡d |  d¡… }| |  d¡d … } | |  d¡d |  d¡… }|d | }| |  d¡d … } | |  d¡d |  d¡… }|d krd!}n|d" }| |  d#¡d$ |  d%¡d& … }t ||¡}| d|||	|
|d|dd|d|dg¡ qd| ¡  W d   ƒ n1 s–0    Y  d S )'NúNIFCALL.csvÚwÚ ©Únewlineú,©Ú	delimiterú%m%d%HÚDATE©r   ZINCnumÚNAMEÚTYPEZACRESÚLOCATIONZTRSzLAT-LONGZFUELSZ	RESOURCESZSTATUSZ
WEBCOMMENTz"attributes":éÿÿÿÿz"attributes"é   z"poly_IncidentName":é   z",z"irwin_POOCounty":é   z COUNTYz "irwin_LocalIncidentIdentifier":é#   z"irwin_IncidentTypeCategory":é   z"poly_Acres_AutoCalc":é   z"irwin_InitialLatitude":é   z"irwin_InitialLongitude":é   z"irwin_PercentContained":z},Únullz0 PERCENT CONTAINEDz Percent Containedz"rings":[[[é   z]]]é   )ÚopenÚcsvÚwriterÚdatetimeÚnowÚstrftimeÚwriterowÚfindÚupperÚstrÚintÚfloatr   ZpolyÚclose)r	   ÚkmllistÚcsv_fileÚ
csv_writerÚ	timestampÚtimeÚnameÚlocZincnumZinctypeZacresZlatÚlongÚlatlongZwebcomZringsZinnearr
   r
   r   Úparse   s@    

" $(
 ((r=   c                  C   sh   t ƒ } g }tj ttƒd ¡}t |¡}tt|ƒƒD ]$}||  	d¡dkr4||| g }q4t
| |ƒ d S )Nz\TRG\Programs\KMLsú.kmlr   )r   ÚosÚpathÚjoinr0   r   ÚlistdirÚrangeÚlenr.   r=   )Úfiler4   Ú	file_pathÚdirlistÚir
   r
   r   Ú
getnewdataL   s    

rI   c                  C   sö   t ddƒ} g }| D ]Þ}| d¡}|d }tj ¡ }| d¡}tt|d d… ƒt|d d… ƒ ƒdkrr|  ¡   dS t|d d… ƒd t|dd	… ƒ d
 t|d	d … ƒ t|d d… ƒd t|dd	… ƒ d
 t|d	d … ƒ  }|  ¡  |  S d S )Nr   Úrr   é   r   é   Fé   é   r"   )r'   Úsplitr*   r+   r,   Úabsr1   r3   )rE   ÚvaluesÚalineZtime1r7   Ztime2Úager
   r
   r   ÚcheckageX   s    



(prT   c           
      C   s–  g }g }t t| ƒƒD ]2}|| | | |  d¡d | |  d¡… g }qt t| ƒƒD ]6}| |  d¡dkrT|| | d | |  d¡… g }qTtdddd	Ü}tj|d
d}| g d¢¡ tddƒ}|D ]–}| d
¡}|d dkræqÈ|d dd … d
 |d d d…  }	| d dkrl| |d |d |d |d |d |d |d |	|d |d |d |d ddg¡ qÈ| d dkrÒ| |d |d |d |d |d |d |d |	|d |d |d |d |d dg¡ qÈt t|ƒƒD ]€}|d  || ¡dkrÞt|ƒd }| |d |d |d |d |d |d |d |	|d |d |d |d |d dg¡ qÞqÈ| ¡  W d   ƒ n1 s€0    Y  | ¡  d S )NzTA r&   r>   ZAOr   zNIFC.csvr   r   r   r   r   r   r   rJ   r   r   é   rK   é   Ú0rL   rN   é   é   é	   é
   r%   r   Ú1é   )	rC   rD   r.   r'   r(   r)   r-   rO   r3   )
Ú
kmllistreqr4   ÚtemprH   r5   r6   rE   rR   rQ   r<   r
   r
   r   Ú
filterdatah   s6    0"


$TX\(r`   c                 C   s0   t ƒ }|dkrtƒ  n|dkr$tƒ  t| ƒ d S )NTr"   )rT   rI   r`   )r^   ÚoverrideZisvalidcheckr
   r
   r   ÚmainŒ   s    rb   )Úurllib.requestr   r(   ÚTRG.Programsr   ZNEWAFireInfo.settingsr   r?   r*   r   r=   rI   rT   r`   rb   r
   r
   r
   r   Ú<module>   s   0$