Um mapa pode ser gerado localmente enquanto as suas linhas costeiras ou outros dados de referência ainda precisam de ser transferidos. Se o Cartopy não encontrar um recurso necessário, o Downloader padrão pode buscá-lo antes de o desenho terminar.

Esse downloader usa o urllib.request.urlopen do Python. Para um proxy HTTP direto que sirva os dois esquemas de destino, inicie o processo de desenho com um ambiente como:

export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080

O proxy deve estar no ambiente herdado pelo processo real de Python. Um kernel de notebook ou uma IDE de ambiente de trabalho já em execução pode precisar da sua própria configuração de arranque. No Jupyter, configure o ambiente de arranque do kernel selecionado antes de obter dados. A variável HTTPS pode ainda conter um URL de proxy HTTP. As transferências públicas de dados de referência podem usar uma entrada HTTP da lista de proxies HTTP onde essa rota é permitida e não está configurada qualquer conta de proxy.

Veja o URL dos dados pedido no aviso ou na exceção de transferência. Um recurso em falta, um desafio de proxy e uma falha de confiança HTTPS ocorrem em pontos diferentes; mudar a projeção não reparará a rota de rede do downloader.

Para uma máquina que deve permanecer offline

Forneça o conjunto de dados necessário antecipadamente e aponte o Cartopy para a sua raiz:

from pathlib import Path
import cartopy

cartopy.config['pre_existing_data_dir'] = Path('/srv/map-data')

O diretório precisa da estrutura esperada pelo downloader em causa, incluindo os ficheiros completos do conjunto de dados. Uma pasta com um arquivo comprimido arbitrário não é automaticamente o caminho do recurso que o Cartopy procura.

O pre_existing_data_dir é verificado antes do data_dir. Se o recurso faltar em ambos os locais, um item transferível ainda pode desencadear a aquisição para data_dir, que tem de ser escrevível. Definir o diretório preexistente é, por isso, uma escolha de pesquisa, não um interruptor global de «nunca uses a rede».

Prepare cada resolução e cada elemento exigidos pelos desenhos previstos. Um mapa grosseiro que antes funcionou não prova que uma linha costeira mais detalhada já esteja disponível. Os serviços de mosaicos e os downloaders personalizados podem ter as suas próprias formas de obtenção.

Artigos relacionados