﻿# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import cartopy.io.img_tiles as cimgt
import cartopy.crs as ccrs


def gerar_mapa_global():
    
    fig = plt.figure(figsize=(12, 7))

   
    projecao = ccrs.PlateCarree()
    ax = fig.add_subplot(1, 1, 1, projection=projecao)

    Define a extensão do mapa para cobrir todo o globo
    ax.set_global()

    #Adiciona a imagem de fundo 
    ax.stock_img()

    
    gridlines = ax.gridlines(draw_labels=True, linewidth=0.5, color='gray', alpha=0.5, linestyle='--')
    gridlines.top_labels = False
    gridlines.right_labels = False

   
    ax.set_title("Impactos do La Niña na Temperatura", fontsize=16, fontweight='bold', loc='left', pad=25)

    
    legenda_elementos = [
        mpatches.Patch(facecolor='#ffff00', edgecolor='black', label='temperaturas mais quentes'),
        mpatches.Patch(facecolor='#0000ff', edgecolor='black', label='temperaturas mais frias'),
        mpatches.Patch(facecolor='#00ff00', edgecolor='black', label='reversão sazonal')
    ]

    # Adiciona a legenda no canto superior direito, acima do mapa
    ax.legend(
        handles=legenda_elementos,
        loc='lower left',
        bbox_to_anchor=(0.62, 1.02), 
        frameon=False,                
        fontsize=10,
        handlelength=1.8,
        handleheight=1.2,
        labelspacing=0.6
    )

    
    nome_arquivo = "mapa_global.png"
    plt.savefig(nome_arquivo, dpi=300, bbox_inches='tight')
    print(f"Mapa salvo com sucesso em alta resolução: {nome_arquivo}")

    
    plt.show()

if __name__ == "__main__":
    gerar_mapa_global()