تعبيرات الخريطة

تتوفر أمثلة على تعبيرات التقرير لأسئلة الخريطة أدناه.

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

بشكل افتراضي، تستخدم الخريطة الموجودة في التقرير خريطة الويب التي تم تعيينها للسؤال. إذا تم تعيين مقياس الخريطة إلى 0 أو تم حذف المعلمة، يُحدد مقياس الخريطة حسب المعالم الموجودة في الخريطة على النحو الآتي:

  • إذا كانت هناك معلمًا نقطيًا واحدًا فقط على الخريطة، فإن مقياس الخريطة يطابق المقياس المحدد للسؤال.
  • إذا كان هناك معلمًا خطيًا أو مضلعًا واحدًا فقط على الخريطة، يتم تحديد مقياس الخريطة من خلال نطاق المعلم.
  • في حالة وجود العديد من المعالم على الخريطة، يتم تحديد المقياس من خلال نطاق كل المعالم.

تدعم أسئلة الخريطة تعيين معرف عنصر خريطة الويب ومقياس الخريطة كمعلمات اختيارية. في المثال التالي، يُستخدم مقياس خريطة 1:100000:

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000}

لجميع أسئلة الخريطة، يمكنك استخدام طريقة rotate لتحديد دوران عقارب الساعة للشمال المطلوب بالنسبة إلى العرض. يقبل قيم من 0 إلى 360.

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | rotate:90}

إذا تركت معرف عنصر خريطة الويب كسلسلة فارغة، فسوف تُستخدم خريطة الأساس الافتراضية للسؤال. إذا قمت بتعيين مقياس الخريطة إلى 0 أو حذف هذه المعلمة، تستخدم الخريطة النطاق الافتراضي المعين للسؤال.

يمكن استخدام الطريقة mapExtent لتعيين نطاق الخريطة في التقرير بشكل صريح. في المثال التالي، يُعرض نطاق خريطة ثابت لطوكيو عاصمة اليابان:

${location | mapExtent:139.7:35.6:139.9:35.8:4326}

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

${location | size:400:400}

يمكنك استخدام تعبيرات map وmapScale وsize معًا لتوفير معرف خريطة ويب ومقياس خريطة علاوة على دقة صورة خريطة، كما هو موضح في المثال التالي:

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

ملاحظة:‏

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

إذا كانت الخريطة تحتوي على عدد كبير من السجلات، فيمكنك استخدام طريقة mapFilters لتقييد عدد السجلات التي يتم عرضها. في المثال التالي، تُستخدم المعلمة where لتصفية خريطة ويب تحتوي على طبقة واحدة فقط لإظهار السجلات التي يكون فيها POP2000 أكبر من 999999:

${location | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"where=POP2000>999999"}

في مثال mapFilters التالي، تقوم المعلمة الأولى بتصفية طبقة المدن (والتي يكون معرف طبقتها هو 18ece64a1fc-layer-5) لإظهار أول ثلاثة سجلات فقط بها أعلى عدد من السكان والذي يوجد في ولاية كاليفورنيا. تقوم المعلمة الثانية، والتي يتم فصلها عن المعلمة الأولى باستخدام علامة نقطتين، بتصفية طبقة الولايات (بمعرف طبقة 18ece64a1fc-layer-6) لإظهار ولاية كاليفورنيا فقط:

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapFilters:"'18ece64a1fc-layer-5':where=ST='CA'&orderByFields=POP2000 ASC&resultRecordCount=3":"'18ece64a1fc-layer-6':where=stateName='California'"}

ملاحظة:‏

معرف الطبقة هو خاصية لكائن طبقة المعالم في خريطة الويب JSON.

بشكل افتراضي، يُعرض سؤال الخريطة باستخدام رمز خريطة افتراضي، بغض النظر عن الترميز المعين في طبقة المعالم. يمكنك استخدام طريقة drawingInfo لاستخراج معلومات الرسم المخزنة في طبقة معالم محددة واستخدامها، بما في ذلك الرمز والتسمية والشفافية المستخدمة. يمكنك تحديد هذه المعلومات إما من الطبقة الحالية أو من طبقة معالم محددة من خلال عنوان URL متوفر.

${location | drawingInfo:"currentLayer"}

${location | drawingInfo:"https://.../FeatureServer/0"}

إذا كان الاستطلاع لا يحتوي على سؤال خريطة، أو كنت تنشئ تقارير لطبقات المعالم دون استطلاع مقترن، فما زال بإمكانك إرجاع الشكل الهندسي للسجل باستخدام عنصر ${$shape} النائب.

في قسم الملخص، يعرض تعبير لسؤال الخريطة أشكالاً هندسية متعددة في إدخال السؤال. إذا كنت تريد تضمين ردود أخرى لتقرير فردي، فقم بتوفير تعبير where بالعلامة !important. لمزيد من المعلومات، راجع بناء الجملة الإضافي. يعرض التعبير التالي جميع الأشكال الهندسية في الطبقة حيث تكون قيمة حقل الحالة مساوية لـ "معطلة":

${location | where:"status='broken' !important" | map:"<itemID>" | size:400:300}

ملاحظة:‏

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

يمكنك تعيين تعبير where ليكون عبارة صحيحة دائمًا لضمان عرض كل الأشكال الهندسية في الطبقة:

${location | where:"1=1 !important"}

يمكن أيضًا استخدام هذا لعرض جميع النقاط في تكرار:

${repeat1.repeatLocation | where:"inspectionId=123 !important" | size:400:300}

يمكن أيضًا استخدام كلمة $shape الأساسية لإرجاع العديد من الأشكال الهندسية للخريطة:

${$shape | where:"1=1 !important" | drawingInfo:"currentLayer" | size:400:300}

يمكن استخدام كلمة $map الأساسية لطباعة خريطة لا تُشير إلى سؤال الاستطلاع:

${$map | map:"7e2b9be8a9c94e45b7f87857d8d168d6" | mapScale:100000 | size:400:400}

نقطة جغرافية

بالنسبة إلى أسئلة النقطة الجغرافية، يمكنك استخدام التعبيرات لعرض قيمتي خط العرض أو خط الطول من السؤال كما يلي:

${location | getValue:"x"}

${location | getValue:"y"}

لا يمكنك عرض كلتا القيمتين باستخدام تعبير واحد؛ إذا كانت كلتا القيمتين مطلوبة، يجب عليك استخدام كلا التعبيرين.

تلميح:

يمكنك أيضًا عرض قيمة الارتفاع من خلال تعبير مماثل لكن إذا كانت طبقة المعالم الأساسية تدعم قيم Z.

${location | getValue:"z"}

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

${location | getValue:"x" | round:3}

${location | getValue:"x" | toFixed:3}

بشكل افتراضي، يتم إخراج هذه القيم إلى الإسناد المكاني المستخدم بواسطة طبقة معلم الاستطلاع. يمكنك تعيين إسناد مكاني مختلف كمعلمة إضافية عن طريق توفير المُعرِّف المعروف جيدًا الخاص به:

${location | getValue:"x":4326}

التتبع الجغرافي والشكل الجغرافي

بالنسبة إلى أسئلة التتبع الجغرافي والشكل الجغرافي، يمكن استخدام تعبير getValue لعرض طول الخط أو محيط المضلع، على التوالي:

${polyline1 | getValue:"length":"meters":"planar"}

بالنسبة إلى أسئلة الشكل الجغرافي، يمكنك استخدام تعبير getValue أيضًا لعرض مساحة المضلع:

${polygon1 | getValue:"area":"hectares":"geodesic"}

الوحدات وطريقة الحساب معلمات اختيارية. يتم قبول الوحدات التالية للطول:

  • feet
  • kilometers
  • meters
  • miles
  • nautical-miles
  • yards

يتم قبول الوحدات التالية للمساحة:

  • acres
  • hectares
  • square-miles
  • square-kilometers
  • square-meters
  • square-feet
  • square-yards

بدلاً من ذلك، يمكنك استخدام أي من ثوابت esriSRUnitType أو ثوابت esriSRUnit2Type المدعومة من ArcGIS REST API. في التعبير، استخدم الرمز الرقمي للثابت دون علامات اقتباس كما يلي:

${polyline1 | getValue:"length":109002:"geodesic"}

إذا لم يتم تحديد أي وحدات، فإن الوحدة الافتراضية تكون kilometers للطول وsquare-kilometers للمساحة.

يمكن أن تكون الطريقة إما geodesic أو planar. إذا لم يتم تحديد أي طريقة، فسيتم استخدام geodesic بشكل افتراضي.