# encoding: utf-8

"""
Explanation: <font size="6" face="Calibri"><h1 style="color:green">
Focos de Tocantins em 2016<font size="1" face="Times"><h1 style="color:black">
elaborado por: ... Douglas Damião de Carvalho Honório ...<hr style="border:2px solid #0077b9;">
End of explanation
"""


%matplotlib inline

"""
Explanation: Para que o notebook IPython coloque as figuras geradas pela matplotlib inline:
End of explanation
"""


import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt


"""
Explanation: Bibliotecas
End of explanation
"""


focos = gpd.read_file(r"C:\Users\dougl\Desktop\programacao\focos_2016\focos_2016.shp")

focos["timestamp"] = pd.to_datetime(focos["DataHora"])

focos_tocantins = focos[focos.Estado == 'Tocantins']

focos_setembro = focos_tocantins[focos.timestamp.dt.month == 9]

"""
Explanation: <font size="3" face="Times"><h1 style="color:black">Abrindo o arquivo Shape
End of explanation
"""


focos_setembro.head(4)

"""
Explanation: <font size="3" face="Times"><h1 style="color:black">Testando o arquivo Shape
End of explanation
"""


municipios = gpd.read_file(r"C:\Users\dougl\Desktop\programacao\focos_2016\municipios\municipios.shp")

#17 é o código IBGE para o Estado de Tocantins
municipios_to = municipios[municipios["GEOCODIGO"].str[0:2] == "17"]

focos_setembro.crs = {'init': 'epsg:4674'}
municipios_to.crs = {'init': 'epsg:4674'}

"""
Explanation: <font size="3" face="Times"><h1 style="color:black">Importando o Shapefile de municípios do IBGE:
End of explanation
"""


tocantins_dados = gpd.sjoin(focos_setembro, municipios_to, how="right", op='intersects')

tocantins_dados.head(4)

municipios_tocantins = municipios_to.set_index('NOME')

focos_mes = tocantins_dados.groupby('NOME').Municipi.count()

focos_mes.index.name = "Municipios"
focos_mes.name = "focos"
focos_mes.head()

"""
Explanation: <font size="3" face="Times"><h1 style="color:black">Juntando os dados em um mesmo grupo:
End of explanation
"""


focos_municipios = pd.concat([municipios_tocantins, focos_mes], axis=1)
focos_municipios.head()

"""
Explanation: <font size="3" face="Times"><h1 style="color:black">Agrupando os municípios e os focos:
End of explanation
"""


fig, ax = plt.subplots(1, figsize=(10, 15))
focos_municipios.plot(column='focos', ax=ax, cmap='Paired')
municipios_tocantins.plot(color='None', edgecolor='black', linewidth=1, ax=ax)
ax.axis('off')
vmin = focos_municipios['focos'].min()
vmax = focos_municipios['focos'].max()

# criando barra de cores
barra = plt.cm.ScalarMappable(cmap='Paired', norm=plt.Normalize(vmin=vmin, vmax=vmax))
barra._A = []
cbar = fig.colorbar(barra)


"""
Explanation: <font size="3" face="Times"><h1 style="color:black">Plotando o grafico
End of explanation
"""


