یک نقشه می‌تواند به‌صورت محلی ساخته شود، در حالی که خطوط ساحلی یا دیگر داده‌های مرجع آن هنوز باید دانلود شوند. اگر 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 هنوز می‌تواند نشانی پروکسی HTTP داشته باشد. دانلودهای عمومی داده‌های مرجع می‌توانند از یک ورودی HTTP از فهرست پروکسی HTTP استفاده کنند، جایی که آن مسیر مجاز است و هیچ حساب پروکسی پیکربندی نشده است.

به نشانی دادهٔ درخواستی در هشدار یا استثنای دانلود نگاه کنید. منبع دادهٔ ناموجود، چالش پروکسی و شکست اعتماد 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 را آغاز کند، که باید قابل نوشتن باشد. بنابراین تعیین پوشهٔ از پیش موجود یک انتخاب جست‌وجوست، نه کلید سراسری «هرگز از شبکه استفاده نکن».

هر تفکیک و هر عارضه‌ای را که ترسیم‌های موردنظر نیاز دارند آماده کنید. نقشهٔ درشتِ پیش‌تر موفق ثابت نمی‌کند که خط ساحلی دقیق‌تری از قبل موجود است. سرویس‌های کاشی و دانلودکننده‌های سفارشی می‌توانند ترتیبات دریافت خودشان را داشته باشند.

مقالات مرتبط