AWS Machine Learningتاريخ نشر المصدر

تصوّر النقاط والمسارات باستخدام GeoJSON في خرائط الطبقات في Amazon Quick Sight

مع خرائط الطبقات في Amazon Quick Sight، يمكنك الآن رسم النقاط والمسارات، مثل مواقع المتاجر عبر مدينة أو الرحلات الجوية المغادرة من مطار. تساعد الخرائط الجغرافية المكانية الشركات على اكتشاف الأنماط المرتبطة بالموقع، مثل أداء منطقة معينة أو أماكن تركز العملاء.

مع خرائط الطبقات في Amazon Quick Sight، يمكنك الآن رسم النقاط والمسارات، مثل مواقع المتاجر عبر مدينة أو الرحلات الجوية المغادرة من مطار. تساعد الخرائط الجغرافية المكانية الشركات على اكتشاف الأنماط المرتبطة بالموقع، مثل أداء منطقة معينة أو أماكن تركز العملاء. يدعم Amazon Quick Sight ذلك من خلال أنواع خرائط متعددة، بما في ذلك خرائط النقاط والخرائط المعبأة وخرائط الطبقات. عند إطلاق خرائط الطبقات لأول مرة، كان بإمكانك تحميل ملف GeoJSON لرسم طبقات أشكال مخصصة، مثل مناطق المبيعات أو الأحياء، وربط تلك الأشكال بمجموعة بيانات. كان ذلك يعالج المناطق والحدود جيدًا، لكنه لم يغطِّ المواقع الفردية داخلها أو المسارات الممتدة بينها.

تدعم خرائط الطبقات الآن نوعين إضافيين من الهندسة من نفس سير عمل GeoJSON: Point و LineString. تحدد النقاط مواقع محددة، مثل موقع متجر أو منشأة فردية. ويتتبع LineString المسار بين المواقع، مثل مسار توصيل أو رحلة جوية بين مطارين.

Amazon Quick Sight، وهي إمكانية ذكاء الأعمال (BI) في Amazon Quick، هي خدمة ذكاء أعمال موحدة. توفر لوحات معلومات تفاعلية حديثة، واستعلامات بلغة طبيعية، وتقارير دقيقة على مستوى البكسل، ورؤى تعلم الآلة (ML)، وتحليلات مدمجة على نطاق واسع. يجمع Amazon Quick بين وكلاء الذكاء الاصطناعي لرؤى الأعمال والبحث والأتمتة في تجربة واحدة متكاملة، مما يساعدك على العمل بذكاء وسرعة أكبر مع الحفاظ على سياسات الأمان والوصول.

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

اعتبارات بنية مجموعة البيانات

تحصل خريطة الطبقات على أشكالها من ملف GeoJSON ومؤشراتها من مجموعة بيانات Quick Sight، ويربط بينهما مفتاح مشترك. وطريقة هيكلة كل منهما تحدد ما يمكن أن تعرضه الخريطة. يغطي هذا القسم ما تحتاجه قبل البدء وكيفية تنظيم ملف GeoJSON.

المتطلبات الأساسية

فيما يلي المتطلبات الأساسية التي تحتاجها قبل إنشاء خريطة طبقات في Quick Sight:

  • ملف GeoJSON يصف الهندسة الخاصة بك.
  • مجموعة بيانات Quick Sight تحتوي على المؤشرات والأبعاد.
  • مفتاح ربط مشترك بين مجموعة بيانات Quick Sight وملف GeoJSON.
  • يجب حفظ ملف GeoJSON بصيغة .geojson، بحد أقصى لحجم الملف المدعوم يبلغ 100 ميجابايت.

بنية ملف GeoJSON

GeoJSON هو تنسيق قائم على JSON لوصف المعالم الجغرافية مثل النقاط والخطوط.

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "geometry": {
      "type": "Point",
      "coordinates": [88.4, 22.6]
    },
    "properties": { "prop0": "value0" }
  }, {
    "type": "Feature",
    "geometry": {
      "type": "LineString",
      "coordinates": [
        [88.2, 22.4],
        [88.9, 23.1],
        [89.5, 22.8],
        [90.1, 23.6]
      ]
    },
    "properties": { "prop0": "value0" }
  }]
}

بنية الملف كما يلي:

  • FeatureCollection هو الملف بأكمله. فهو من نوع FeatureCollection ويحتوي على features مصفوفة.
  • Feature هو عنصر خريطة واحد. يحمل geometry (الشكل) وكائن properties الذي يحتوي على مفتاح الربط.
  • geometry لديها type (نقطة Point أو خط LineString أو مضلع Polygon) و coordinatesالخاصة بها. تحتوي coordinates على موضع واحد بصيغة [longitude, latitude] للنقطة Point، وقائمة مرتبة من المواضع للخط LineString.

تهيئة مجموعة بيانات Quick Sight وملف GeoJSON الخاص بها

في Quick Sight، عند تهيئة طبقة في عنصر مرئي من نوع خريطة الطبقات، هناك إعدادان رئيسيان يجب مراعاتهما. الأول هو Geometry type to visualize، الذي يحدد أي نوع هندسي من ملف GeoJSON يُعرض: نقاط أو خطوط أو مضلعات. تعرض الطبقة نوعًا هندسيًا واحدًا في كل مرة، لذا عندما يمزج ملفٌ ما بين أنواع متعددة كما في المثال السابق، تظهر فقط عناصر Feature من النوع المحدد على الخريطة. والثاني هو مطابقة Shape file key field مع Dataset key field، وهو ما يربط كل عنصر Feature في ملف GeoJSON بصف في مجموعة بيانات Quick Sight لديك. لا يلزم أن تكون أسماء الحقول متطابقة، ولكن يجب أن تكون القيم متطابقة. يوضح المثالان التاليان ذلك من البداية إلى النهاية، أولهما طبقة LineString وثانيهما طبقة Point .

مثال: طبقة LineString

لنأخذ في الاعتبار بيانات المثال التي تعرض رحلة جوية من JFK إلى مدينة وجهة مثل لوس أنجلوس. تم تكوين بنية GeoJSON لنقطة بيانات واحدة كما يلي:

{
  "type": "Feature",
  "geometry": {
    "type": "LineString",
    "coordinates": [
      [-73.7781, 40.6413],
      [-85.5627, 40.6407],
      [-97.1415, 39.4569],
      [-108.1612, 37.1753],
      [-118.4085, 33.9416]
    ]
  },
  "properties": { "route_id": "JFK-LAX" }
}

يحتوي الصف المقابل في مجموعة بيانات Quick Sight على المعلومات التالية:

الشكل 1: صف مجموعة البيانات لمسار JFK-LAX، مع المفتاح route_id

الحقل route_id يُستخدم لربط مجموعة بيانات Quick Sight بملف GeoJSON. يحتوي ملف GeoJSON على خاصية واحدة من هذا القبيل لكل مسار، وتحتوي مجموعة البيانات على صف واحد لكل مسار. يتم ضبط نوع الهندسة (Geometry) المراد عرضها على Lines.

الشكل 2: مسار JFK-LAX مرسوم كطبقة LineString

مثال: طبقة Point

لنأخذ في الاعتبار بيانات المثال التي تعرض موقع متجر تجزئة مثل Long Island City. تم تكوين بنية GeoJSON لنقطة بيانات واحدة كما يلي:

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-73.9490, 40.7447]
  },
  "properties": { "store_id": "S-109" }
}

يحتوي الصف المقابل في مجموعة بيانات Quick Sight على المعلومات التالية:

الشكل 3: صف مجموعة بيانات لمتجر، مفهرس بواسطة store_id

يُستخدم حقل store_id لربط مجموعة بيانات Quick Sight بملف GeoJSON. يحتوي ملف GeoJSON على عنصر واحد من هذا النوع لكل متجر، وتحتوي مجموعة البيانات على صف واحد لكل متجر. يتم تعيين نوع الهندسة المراد عرضها على Points.

الشكل 4: متجر مرسوم كطبقة نقطية (Point)

الخطوط في مرئيات خرائط الطبقات

تدعم مرئيات خرائط الطبقات الآن هندسة LineString التي تربط قائمة مرتبة من الإحداثيات في مسار واحد. كما ورد في قسم بنية البيانات، كل مسار هو عنصر واحد، وإحداثياته هي المواقع المرتبة التي تربطها الخريطة بالتسلسل.

استخدم الخطوط عندما تكون العلاقة بين المواقع هي ما تريد إظهاره، مثل مسارات الطيران، أو مسارات التوصيل، أو ممرات الشحن، أو أجزاء خطوط الأنابيب. يرسم العنصر المرئي كل مسار من الإحداثيات الموجودة في ملف GeoJSON الخاص بك بدلاً من توليده من بياناتك وقت التحميل. يمكن لحقل من مجموعة البيانات المرتبطة تحديد ترميز لون الخط، بحيث يمكنك تجميع المسارات حسب ما يمثله ذلك الحقل. بالإضافة إلى اللون، يمكنك تخصيص الخطوط بضوابط العتامة والسماكة لضبط البروز البصري والوضوح على الخريطة. يربط مفتاح الربط في كائن خصائص GeoJSON كل LineString بصف مجموعة البيانات الكامن وراء تلميحه ولونه.

على سبيل المثال، قد يرسم فريق عمليات مطار الرحلات المغادرة من نيويورك (JFK) في يوم معين. يحتوي ملف GeoJSON على LineString واحد لكل مسار، مفهرس بمعرّف مسار يرتبط بمجموعة البيانات. يبدأ كل خط من JFK وينتهي في وجهته، مثل لوس أنجلوس أو شيكاغو أو ميامي. توفر مجموعة البيانات معلومات نقطة الانطلاق والوجهة وشركة الطيران التي تظهر في التلميح.

الشكل 5: رحلات مغادرة من JFK مرسومة كمسارات LineString إلى وجهات متعددة

النقاط في مرئيات خرائط الطبقات

تقدم Amazon Quick Sight نوع عنصر مرئي لخريطة النقاط أصليًا يقوم بترميز أسماء المواقع جغرافيًا تلقائيًا ويُحدَّث وفقًا لجدول SPICE أو اتصال Direct Query لديك. ويدعم تحجيم النقاط الديناميكي، وترميز الألوان، وأنماط النقاط مثل نقاط التجميع وتدرجات كثافة الخريطة الحرارية. ويعمل بأفضل شكل مع البيانات التي تتغير بشكل متكرر والتي تريد أن تستجيب لها الخريطة بصريًا لتلك التغييرات.

مع الدعم المضاف لطبقات نقاط GeoJSON في مرئيات خرائط الطبقات، يقدم Quick Sight الآن إمكانية ثانية لرسم الخرائط النقطية مع بعض الاختلافات الرئيسية. تستخدم نقاط مرئيات خرائط الطبقات حجم علامة موحدًا ولا تدعم الترميز الجغرافي، لذا عليك توفير إحداثيات صريحة في ملف GeoJSON. وفي المقابل، يمكنك التحكم في إطار العرض بدقة، وتثبيت الخريطة على منطقة جغرافية محددة بالضبط، وتعطيل التمرير والتكبير/التصغير.

يلخص الجدول التالي الاختلافات الرئيسية:

الميزة خريطة النقاط نقاط مرئيات خرائط الطبقات
مصدر البيانات قيم خط العرض/خط الطول أو أسماء المواقع الجغرافية في مجموعة بياناتك عناصر GeoJSON من نوع Point مرتبطة بمجموعة بياناتك بمفتاح مشترك
الترميز الجغرافي يتعرف تلقائيًا على المدينة والمقاطعة والولاية والدولة والرمز البريدي غير متاح. يجب توفير إحداثيات صريحة في ملف GeoJSON
تحديثات الموقع تتحدث الخريطة تلقائيًا مع تحديثات SPICE أو Direct Query عند تغير قيم المواقع يستخدم العنصر المرئي ملف GeoJSON ثابتًا لمواقع النقاط. يتطلب إعادة رفع يدوية أو استدعاء API لتحديث الهندسة
إطار العرض يتكيف تلقائيًا مع بياناتك، مع تمكين التمرير والتكبير/التصغير دائمًا يضبط الحجم تلقائيًا افتراضيًا، ويمكن تكوين ما إذا كان التمرير والتكبير مسموحًا بهما
المظهر يمكن ترميز الحجم واللون من مجموعة البيانات. يتوفر تكوين نمط النقاط (أساسي، عنقودي، خريطة حرارية) حجم علامة موحد قابل للتخصيص، مع شفافية التعبئة ولون الحدود وسماكتها. يمكن ترميز اللون من مجموعة البيانات

اختر نقاط الطبقة المرئية لخريطة الطبقة عندما:

  • تحتاج إلى إطار عرض ثابت غير قابل للتمرير.
  • مواقعك ثابتة ومنسّقة بعناية (مثل المكاتب الإقليمية أو مراكز التوزيع أو متاجر التجزئة) بدلاً من أن تتغير مع كل تحديث للبيانات.
  • تخطط لدمج النقاط مع أنواع هندسية أخرى (وهو ما يُغطى في قسم حالات الاستخدام المتقدمة).

فكر في علامة تجارية تجزئة يستخدم مديروها الإقليميون لوحة معلومات Quick Sight لتتبع أداء المتاجر عبر منطقة حضرية. يحتوي ملف GeoJSON على معلم Point لكل متجر مع خاصية معرّف المتجر التي ترتبط بمجموعة البيانات. تحتفظ مجموعة البيانات بالمقاييس (نوع المتجر، الإيرادات الشهرية، حركة الزوار اليومية) التي تحفّز التلميح وترميز الألوان. تضبط الخريطة على مستوى التكبير الذي يغطي المنطقة الحضرية، ثم تعطّل التنقل في الخريطة بحيث تُعرض الخريطة بمشهد ثابت عند كل تحميل. وبذلك لا يستطيع المديرون عن طريق الخطأ التصغير لمشهد على المستوى الوطني أو العالمي.

الشكل 6: مواقع المتاجر كنقاط مع تعطيل التنقل في الخريطة لتثبيت مشهد المنطقة الحضرية

حالات الاستخدام المتقدمة

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

التحكم في منفذ العرض

عندما تحتاج إلى التحكم في منفذ العرض في مرئيات خريطة الطبقات، يمكنك التحريك والتكبير يدوياً للوصول إلى المشهد المطلوب. ثم تعطّل التنقل في الخريطة لتثبيته في مكانه. وفي حالات الاستخدام التي تتطلب حدوداً أكثر دقة أو تحكماً برمجياً، يمكنك تعيين إحداثيات منفذ العرض الدقيقة من خلال تعريف المرئي باستخدام واجهات Quick Sight البرمجية (APIs).

يخزّن المرئي الخاص بخريطة الطبقات إعدادات منفذ العرض في الخاصية MapState داخل ChartConfiguration. تقبل هذه الخاصية حقلاً اثنين:

  • Bounds: الإحداثيات الجغرافية التي تحدد أصغر منطقة مرئية (الشمال، الجنوب، الشرق، الغرب).
  • MapNavigation: ENABLED أو DISABLED للتحكم فيما إذا كان باستطاعة القرّاء التحريك والتكبير.

على الرغم من أن الخاصية bounds غير معروضة في وحدة التحكم، يمكنك تعيين هذه الحدود عند العمل مع تعريف لوحة المعلومات بصيغة JSON لإدارة الأصول برمجياً. على سبيل المثال، لتعريف الحدود، عدّل الكتلة MapState في تعريف المرئي، ثم استدعِ واجهتي CreateDashboard أو UpdateDashboard البرمجيتين.

تحدد الحدود أصغر منطقة يُضمن ظهورها. تُكبّر الخريطة لضمان ملاءمة هذه المنطقة بالكامل داخل حاوية المرئي. وللحصول على الأنسب مع أقل مساحة إضافية تُضاف إلى الخريطة، طابِق نسبة أبعاد حدودك مع شكل حاوية المرئي.

تركيب الطبقات الهندسية

في حالات الاستخدام التي تتطلب دمج أنواع هندسية متعددة في مشهد واحد، يمكنك تركيب المرئيات فوق بعضها. على سبيل المثال، توضح لقطة الشاشة التالية رسم مواقع العملاء كنقاط داخل حدود إقليمية في الولايات المتحدة معرّفة بالمضلعات. يُظهر هذا التركيب المناطق التي تتمتع بأعلى كثافة للعملاء، ويمكن استخدامه للربط بمقاييس أخرى موجودة في مجموعة البيانات مثل الأداء.

الشكل 7: نقاط العملاء مركّبة داخل حدود إقليمية على شكل مضلعات

يوضح هذا المثال الثاني دمج النقاط كمحطات على طول مسار مسار توصيل. يرسم LineString المسار المخطط له، وتشير معالم Point إلى كل محطة مجدولة على الطريق.

الشكل 8: مسار توصيل مرسوم كـ LineString مع علامات Point لكل محطة

لتركيب الهندسات فوق بعضها، تراص عدة مرئيات من نوع خريطة الطبقات فوق بعضها باتباع الخطوات التالية:

  1. استخدم التخطيط الحر: غيّر إعداد تخطيط الورقة إلى التخطيط الحر حتى تتمكن العناصر المرئية من التداخل والتراكب.
  2. أنشئ عنصرين مرئيين لخريطة الطبقات: أنشئ عنصرين مرئيين لخريطة الطبقات تقوم بدمجهما في عرض واحد، مثل عنصر يستخدم ملف GeoJSON من نوع Point وعنصر يستخدم ملف GeoJSON من نوع LineString.
  3. استخدم حدودًا متطابقة: باستخدام الطريقة الموضحة سابقًا للتحكم في إطار العرض (viewport)، تحقق من أن جميع العناصر المرئية لخريطة الطبقات تستخدم حدودًا متطابقة للحصول على نفس عرض الخريطة الأساسي.
  4. عطّل التحريك والتكبير/التصغير: لكل عنصر مرئي لخريطة الطبقات، عطّل التحريك والتكبير/التصغير ضمن خيارات الخريطة (Map options) حتى يبقى التوافق كما هو.
  5. أخفِ الخريطة الأساسية والخلفية في الطبقة العلوية: اضبط خلفية العنصر المرئي العلوي على مخفية ضمن إعدادات العرض (Display settings) وعطّل الخريطة الأساسية ضمن خيارات الخريطة (Map options).
  6. تراكب العناصر المرئية: انقل العنصر المرئي العلوي فوق الطبقة الأساسية باستخدام السحب والإفلات أو عن طريق مطابقة إحداثيات الحجم والموضع الدقيقة ضمن إعدادات العرض (Display settings).

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

تحديث GeoJSON ديناميكيًا

بخلاف العناصر المرئية الأخرى في Quick Sight حيث تُحدَّث البيانات عبر SPICE أو Direct Query، فإن هندسة خريطة الطبقات موجودة في ملف GeoJSON نفسه. عند تحديث مجموعة البيانات لديك وفقًا لجدول زمني، يتم تحديث المقاييس (على سبيل المثال، تتغير الألوان وتُحدَّث قيم تلميح الأدوات)، لكن تبقى الهندسة في موضعها الأصلي.

لتحديث ما يظهر على الخريطة، مثل مسار جديد أو مواقع نقاط جديدة أو حدود محدثة، تحتاج إلى تحديث ملف GeoJSON وإعادة نشر لوحة المعلومات. يمكنك استبدال ملف GeoJSON يدويًا من خلال وحدة تحكم Quick Sight عن طريق تحرير العناصر المرئية لخريطة الطبقات داخل Analysis وتحميل ملف جديد. يصلح هذا للتغييرات غير المتكررة مثل تحديث حدود الأقاليم كل ربع سنة أو إضافة موقع متجر جديد.

أما بالنسبة للتحديثات الآلية أو عند الطلب أو الديناميكية، فتتضمن العملية استخدام Amazon Simple Storage Service (Amazon S3) وواجهات Quick Sight APIs الموضحة في الخطوات التالية:

  1. 3. قم بتحميل ملف GeoJSON الجديد إلى Amazon S3: قم بإنشاء الهندسة المحدثة الخاصة بك واحفظها في دلو Amazon S3 . يمكن للحلول المخصصة استخدام خدمات AWS أخرى مثل Amazon Location Service لإنشاء ملفات GeoJSON.
  2. 3. أشر إلى الملف في تعريف لوحة المعلومات: يحتوي تعريف لوحة المعلومات على مصفوفة StaticFiles مع إدخال SpatialStaticFile لكل ملف GeoJSON. عدّل مرجع الملف إلى موقع S3 لملفك المحدث لكل ملف GeoJSON.
  3. 3. استدعِ واجهة UpdateDashboard API: أرسل التعريف المحدث مع مرجع الملف الجديد باستخدام واجهة UpdateDashboard API.
  4. 3. استدعِ واجهة UpdateDashboardPublishedVersion API: انشر التغيير بحيث يصبح مرئيًا لقرّاء لوحة المعلومات باستخدام واجهة UpdateDashboardPublishedVersion API.

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

الشكل 9: إنشاء المسارات عند الطلب في لوحة معلومات مدمجة

الخلاصة

في هذه المقالة، أوضحنا كيفية استخدام هندسة Point وLineString في خرائط الطبقات في Amazon Quick Sight لرسم مواقع محددة والمسارات بينها. وقد تناولنا بنية GeoJSON وربط مجموعة البيانات اللذين تتطلبهما خرائط الطبقات، وقارنّا بين نقاط خرائط الطبقات والخريطة النقطية الأصلية. كما استعرضنا تقنيات متقدمة للتحكم في منفذ العرض، وتراكب عناصر مرئية منفصلة في عرض واحد، وتحديث ملفات GeoJSON باستخدام Amazon S3 وواجهات Quick Sight APIs.

لمعرفة المزيد عن الخرائط المتراكبة، راجع وثائق الخرائط المتراكبة في Amazon Quick Sight. قم بزيارة مجتمع Amazon Quick Community للتواصل مع الزملاء والبقاء على اطلاع بأحدث الميزات والموارد.

 


عن المؤلفين

المصدر الأصلي

AWS Machine Learning

ملاحظات المحتوى

النشر الأصلي والحقوق تعود إلى المصدر.

ترجمة آلية · يُرجى الرجوع إلى الأصل