Завантаження картографічних даних Cartopy через проксі
Налаштуйте завантажувач Python для відсутніх даних карт або заздалегідь підготуйте файли, які очікує Cartopy, перед побудовою карти без мережі.
Карту можна побудувати локально, хоча її берегові лінії або інші довідкові дані ще треба завантажити. Якщо Cartopy не знаходить потрібний ресурс, стандартний Downloader може отримати його до завершення побудови.
Цей завантажувач використовує urllib.request.urlopen з Python. Для пересилаючого HTTP-проксі, що обслуговує обидві схеми призначення, запустіть процес побудови з оточенням на кшталт:
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080Проксі має бути в оточенні, яке успадковує реальний процес Python. Уже запущене ядро блокнота або настільне IDE може потребувати власної конфігурації запуску. Для Jupyter налаштуйте оточення запуску вибраного ядра до отримання даних. Змінна HTTPS і далі може містити URL HTTP-проксі. Публічні завантаження довідкових даних можуть використовувати HTTP-запис зі списку HTTP-проксі, якщо цей маршрут дозволено і обліковий запис проксі не налаштовано.
Подивіться на запитаний URL даних у попередженні або винятку завантаження. Відсутній ресурс даних, виклик проксі та збій довіри HTTPS відбуваються на різних етапах; зміна проєкції не виправить мережевий маршрут завантажувача.
Для машини, яка має залишатися без мережі
Заздалегідь підготуйте потрібний набір даних і вкажіть Cartopy на його корінь:
from pathlib import Path
import cartopy
cartopy.config['pre_existing_data_dir'] = Path('/srv/map-data')Каталог повинен мати структуру, яку очікує відповідний завантажувач, включно з повними файлами набору даних. Тека з довільним архівом автоматично не є шляхом до ресурсу, який шукає Cartopy.
pre_existing_data_dir перевіряється раніше за data_dir. Якщо ресурсу немає в обох місцях, завантажуваний елемент усе ще може спричинити отримання в data_dir, який має бути доступним для запису. Тож задання наявного каталогу — це вибір пошуку, а не глобальний перемикач «ніколи не використовуй мережу».
Підготуйте кожну роздільну здатність і кожен об'єкт, яких потребують заплановані побудови. Раніше успішна груба карта не доводить, що детальніша берегова лінія вже доступна. Тайлові сервіси та власні завантажувачі можуть мати власні правила отримання.