يمكن إنشاء الخريطة محليًا بينما لا تزال خطوط السواحل أو غيرها من البيانات المرجعية بحاجة إلى التنزيل. وإذا تعذّر على Cartopy العثور على مورد مطلوب، فيمكن لـ Downloader القياسي جلبه قبل انتهاء الرسم.

يستخدم هذا المُنزِّل urllib.request.urlopen في Python. ولمّا كان وسيط HTTP الأمامي يخدم كلا مخطَّطي الوجهة، فابدأ عملية الرسم ببيئة مثل:

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

يجب أن يكون الوسيط داخل البيئة التي يرثها كائن Python الفعلي. وقد تحتاج نواة دفتر ملاحظات أو بيئة تطوير سطح مكتب قيد التشغيل إلى إعداد تشغيل خاص بها. في Jupyter، اضبط بيئة بدء النواة المختارة قبل الحصول على البيانات. ويمكن أن يحتوي متغير HTTPS على عنوان وسيط 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، الذي يجب أن يكون قابلًا للكتابة. لذا فإن ضبط الدليل الموجود مسبقًا خيار بحث، وليس مفتاحًا شاملًا لـ«عدم استخدام الشبكة أبدًا».

جهّز كل دقة وكل معلم يحتاجه الرسم المقصود. فالخريطة الخشنة التي نجحت سابقًا لا تُثبت أن خط ساحل أكثر تفصيلًا متاح بالفعل. ويمكن أن تكون لخدمات البلاطات والمُنزِّلات المخصصة ترتيبات جلب خاصة بها.

مقالات ذات صلة