10.1. الدرس: خدمات الخرائط على الويب (WMS)

خدمة الخرائط على الويب (WMS) هي خدمة مستضافة على خادم بعيد. ويمكنك الوصول إليها، كما هو الحال مع موقع ويب، ما دام لديك اتصال بالخادم. وباستخدام QGIS يمكنك تحميل WMS مباشرة في خريطتك الحالية.

تتذكّر من درس الإضافات أنه من الممكن تحميل صورة شبكية جديدة من Google مثلًا. لكن هذه عملية تتم مرة واحدة: فبعد تنزيل الصورة لا تتغيّر. أما WMS فتختلف في كونها خدمة حيّة تُحدِّث عرضها تلقائيًا عند تحريك الخريطة أو تكبيرها وتصغيرها.

هدف هذا الدرس: استخدام WMS وفهم حدودها.

10.1.1. ★☆☆ تابع معنا: تحميل طبقة WMS

في هذا التمرين، يمكنك إما استخدام الخريطة الأساسية التي أنشأتها في بداية الدورة، أو بدء خريطة جديدة وتحميل بعض الطبقات الموجودة فيها. في هذا المثال استخدمنا خريطة جديدة وحمّلنا الطبقات الأصلية places و landuse و protected_areas وعدّلنا ترميزها:

../../../_images/new_map.png
  1. حمّل هذه الطبقات في خريطة جديدة، أو استخدم خريطتك الأصلية مع إبقاء هذه الطبقات وحدها ظاهرة.

  2. قبل البدء بإضافة طبقة WMS، عطّل الإسقاط "الفوري" (on the fly) (من التبويب Project ► Properties... ► CRS، حدّد No CRS (or unknown/non-Earth projection)). قد يؤدي هذا إلى عدم تطابق الطبقات بشكل صحيح، لكن لا تقلق: سنصلح ذلك لاحقًا.

  3. لإضافة طبقات WMS، انقر على الزر dataSourceManager لفتح نافذة الحوار Data Source Manager وفعّل التبويب addWmsLayer WMS/WMTS.

    ../../../_images/datasourcemanager_wms.png

    تذكّر كيف اتصلت بقاعدة بيانات SpatiaLite أو GeoPackage في بداية الدورة. فالطبقات landuse و buildings و roads مخزّنة في قاعدة بيانات، ولاستخدامها كان عليك أولًا الاتصال بقاعدة البيانات. واستخدام WMS مشابه لذلك، باستثناء أن الطبقات موجودة على خادم بعيد.

  4. لإنشاء اتصال جديد بخدمة WMS، انقر على الزر New.

    ستحتاج إلى عنوان WMS للمتابعة. وتتوفر على الإنترنت عدة خوادم WMS مجانية، منها terrestris الذي يستخدم مجموعة بيانات OpenStreetMap.

  5. لاستخدام خدمة WMS هذه، اضبطها في نافذة الحوار الحالية على النحو التالي:

    ../../../_images/new_wms_connection.png
    • يجب أن تكون قيمة الحقل Name هي terrestris.

    • يجب أن تكون قيمة الحقل URL هي https://ows.terrestris.de/osm/service.

  6. انقر على OK. يُفترض أن ترى خادم WMS الجديد مدرجًا:

    ../../../_images/new_connection_listed.png
  7. انقر على Connect. يُفترض أن ترى الآن في القائمة أدناه هذه المدخلات الجديدة وقد حُمّلت:

    ../../../_images/new_wms_entries.png

    هذه هي جميع الطبقات التي يستضيفها خادم WMS هذا.

  8. انقر مرة واحدة على الطبقة OSM-WMS. سيعرض هذا Coordinate Reference System الافتراضي المستخدم وعدد أنظمة CRS التي تدعمها مجموعة البيانات:

    ../../../_images/osm_wms_selected.png

    بما أننا لا نستخدم EPSG:4326 - WGS 84 لخريطتنا، فلنبحث عن نظام يلبّي احتياجاتنا.

    1. انقر على الزر setProjectionSelect CRS. سترى نافذة الحوار القياسية Coordinate Reference System Selector التي تعرض جميع أنظمة CRS التي نُشرت بها البيانات.

    2. نريد نظام CRS مُسقَطًا، لذا لنختر WGS 84 / Pseudo-Mercator ذا الرمز EPSG:3857. يمكنك استخدام عنصر الواجهة search Filter في الأعلى.

      ../../../_images/pseudo_mercator_selected.png
      1. انقر على OK. لقد تغيّر نظام الإحداثيات المرجعي المرتبط بالمدخل.

  9. انقر على Add لتحميل الطبقة في مشروعك باستخدام Layer name (القيمة الافتراضية هي OpenStreetMap WMS - by terrestris).

  10. أغلق نافذة الحوار Data Source Manager إن لم تُغلق تلقائيًا

  11. في لوحة Layers، انقر عليها واسحبها إلى أسفل القائمة.

  12. صغّر العرض للحصول على رؤية شاملة للطبقات. ستلاحظ أن طبقاتك ليست في موقعها الصحيح (قرب غرب أفريقيا). والسبب أن الإسقاط "الفوري" معطّل.

    ../../../_images/reprojection_off.png
  13. لنفعّل إعادة الإسقاط مجددًا، لكن باستخدام الإسقاط نفسه الخاص بالطبقة OpenStreetMap WMS، وهو WGS 84 / Pseudo Mercator.

    1. افتح التبويب Project ► Properties... ► CRS

    2. ألغِ تحديد No CRS (or unknown/non-Earth projection)

    3. اختر WGS 84 / Pseudo Mercator من القائمة.

      ../../../_images/enable_projection.png
    4. انقر على OK.

  14. الآن انقر بزر الفأرة الأيمن على إحدى طبقاتك في لوحة Layers ثم انقر على Zoom to layer(s). يُفترض أن ترى منطقة Swellendam:

    ../../../_images/wms_result.png

لاحظ كيف تتطابق شوارع طبقة WMS مع شوارعنا نحن. هذه علامة جيدة!

طبيعة WMS وحدودها

ربما لاحظت الآن أن طبقة WMS هذه تحتوي في الواقع على معالم كثيرة: شوارع وأنهار ومحميات طبيعية وغير ذلك. والأكثر من ذلك أنها، رغم أنها تبدو مكوّنة من بيانات متجهية، تبدو طبقة شبكية، ولا يمكنك تغيير ترميزها. لماذا؟

هكذا تعمل WMS: إنها خريطة، تشبه الخريطة الورقية العادية، تتلقاها في صورة صورة. فما يحدث عادةً هو أن لديك طبقات متجهية يرسمها QGIS خريطةً. أما عند استخدام WMS فتكون تلك الطبقات المتجهية على خادم WMS، الذي يرسمها خريطةً ويرسل إليك تلك الخريطة في صورة صورة. يستطيع QGIS عرض هذه الصورة، لكنه لا يستطيع تغيير ترميزها، لأن كل ذلك يُعالَج على الخادم.

ولهذا مزايا عديدة، إذ لا داعي للقلق بشأن الترميز. فهو مُعدّ مسبقًا، ويُفترض أن يكون جميل المظهر في أي WMS مصمّمة بإتقان.

ومن ناحية أخرى، لا يمكنك تغيير الترميز إن لم يعجبك، وإذا تغيّرت الأمور على خادم WMS فستتغيّر على خريطتك أيضًا. ولهذا قد ترغب أحيانًا في استخدام خدمة المعالم على الويب (WFS) بدلًا منها، فهي تمنحك الطبقات المتجهية منفصلة، لا كجزء من خريطة على نمط WMS.

لكن هذا ما سنتناوله في الدرس التالي. أولًا، لنضف طبقة WMS أخرى.

10.1.2. ★☆☆ جرّب بنفسك:

  1. أضف خادم WMS المسمّى eAtlas على هذا العنوان: https://maps.eatlas.org.au/maps/wms

  2. حمّل الطبقة World: Hillshading في الخريطة.

  3. قد ترغب في ضبط Encoding الخاص بها على JPEG وخيار Tile size على 200 في 200، كي تُحمَّل بسرعة أكبر.

  4. يُفترض أن تبدو خريطتك هكذا (قد تحتاج إلى إعادة ترتيب الطبقات وتطبيق بعض الشفافية):

    ../../../_images/world_hillshading_result.png

10.1.3. ★★★ جرّب بنفسك:

جزء من صعوبة استخدام WMS هو العثور على خادم جيد (ومجاني).

  • ابحث عن WMS جديدة في directory.spatineo.com (أو في مكان آخر على الإنترنت). يجب ألا تكون مرتبطة برسوم أو قيود، وأن تغطي منطقة الدراسة Swellendam.

    تذكّر أن كل ما تحتاجه لاستخدام WMS هو عنوان URL الخاص بها فقط (ويُفضَّل وجود وصف ما لها).

10.1.4. ★★★ جرّب بنفسك:

  • أضف الطبقة bluemarble من MapServer Demonstration Server. هل هي مجموعة بيانات مناسبة لمنطقة دراستنا؟

10.1.5. الخلاصة

باستخدام WMS يمكنك إضافة خرائط غير تفاعلية كخلفيات لبيانات خريطتك الحالية.

10.1.6. قراءات إضافية

10.1.7. ما التالي؟

بعد أن أضفت خريطة غير تفاعلية كخلفية، سيسرّك أن تعرف أنه من الممكن أيضًا إضافة معالم (مثل الطبقات المتجهية الأخرى التي أضفتها سابقًا). وإضافة المعالم من خوادم بعيدة ممكنة باستخدام خدمة المعالم على الويب (WFS). وهذا موضوع الدرس التالي.