Skip To Content

استخدام التعبيرات مع GeoAnalytics Tools

توجد أدوات متعددة في مربع أدوات GeoAnalytics Tools تتيح لك تطبيق التعبير. يوجد لدى الأدوات التالية خيار تطبيق تعبير:

يوجد لدى GeoAnalytics Tools التي تستخدم التعبيرات استخدامات مختلفة وكذلك قيود على التعبيرات التي يمكن تطبيقها.

إعادة إنشاء المسارات وإنشاء النطاقات

تُستخدَم تعبيرات النطاق بواسطة أدوات إعادة إنشاء المسارات وإنشاء النطاقات.

عادةً ما يتم إدخال أحجام النطاق باستخدام قيم ثابتة أو قيم حقل. وعلى الرغم من ذلك، لا يُعد إدخال القيم الوسيلة الوحيدة التي يمكنك من خلالها تحديد حجم نطاق باستخدام GeoAnalytics Tools. وقد تريد في بعض الحالات تنفيذ حساب رياضي لتعيين حجم النطاق. ويمكنك تنفيذ حسابات بسيطة ومتقدمة على السواء، وتُطبَّق على كل السجلات. يُطبَّق الحساب على كل معلم يتم تحليله. يتم تنفيذ الحسابات عند تشغيل التحليل على ArcGIS GeoAnalytics Server.

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

تتضمن الأجزاء أدناه أمثلة على تعبير النطاق.

ضم المعالم

يتم استخدام التعبيرات في أداة ضم المعالم لتحديد شروط الضم.

وقد تريد في بعض الحالات تحديد شرط لتحديد المعالم التي يجب تضمينها في الضم. يمكنك تنفيذ شروط ضم بسيطة (مثل field a > field c) وكذلك شروط متقدمة. ويتم اختبار الشروط مُقابل كل معلم لتحديد ما يتم تحليله. يتم تنفيذ الحسابات عند تشغيل التحليل على ArcGIS GeoAnalytics Server.

يمكن لتعبيرات شرط الضم استخدام الحسابات البسيطة وكل الدوال المدمجة المتقدمة لإنشاء الشروط. لا يمكن لشروط الضم استخدام دالة as_distance. يجب أن يؤدي شرط الضم دائمًا إلى صواب أو خطأ.

تتضمن الأجزاء أدناه أمثلة على التعبير.

حسابات بسيطة

حسابات رياضية بسيطة

يمكن لأداتي إعادة إنشاء المسارات وإنشاء النطاقات معالجة الأرقام رياضيًا.

يمكن لأداة ضم المعالم استخدام العمليات الرياضية عند إنشاء شروط الضم.

عامل التشغيلالتفسيرمثالالنتيجة

a + b

a زائد b

["fieldname"] + 2.5

fieldname يحتوي على قيمة 1.5

4.0

a - b

a ناقص b

["fieldname"]- 2.2

fieldname يحتوي على قيمة 3.3

1.1

a * b

a مضروبًا في b

["fieldname"] * 2.2

fieldname يحتوي على قيمة 2.0

4.4

a / b

a مقسومًا على b

["fieldname"] / 1.25

fieldname يحتوي على قيمة 4.0

3.2

abs( a )

يُرجع القيمة المطلقة (الموجبة) a.

abs(["fieldname"])

fieldname يحتوي على قيمة -1.5

1.5

log ( a )

يُرجع اللوغاريتم الطبيعي (قاعدة e) a.

log(["fieldname"])

fieldname يحتوي على قيمة 1

0

sin ( a )

يُرجع جيب الزاوية المثلثية a، ويُفتَرَض أن يكون المدخل زاوية بالتقدير الدائري.

sin(["fieldname"])

fieldname يحتوي على قيمة 1.5707

1

cos( a )

يُرجع جيب تمام الزاوية المثلثية a، ويُفتَرَض أن يكون المدخل زاوية بالتقدير الدائري.

cos(["fieldname"])

fieldname يحتوي على قيمة 0

1

tan( a )

يُرجع ظل زاوية a، ويُفتَرَض أن يكون المدخل زاوية بالتقدير الدائري.

tan(["fieldname"])

fieldname يحتوي على قيمة 0

0

sqrt( a )

يُرجع جذر تربيعي a.

sqrt(["fieldname"])

fieldname يحتوي على قيمة 9

3

min( a, b )

يرجع أقل رقم مُقدّر بين a وb.

min("fieldname", -3)

fieldname يحتوي على قيمة 1.5 وقيمة -3

-3

max( a, b )

يرجع أعلى رقم مُقدّر بين a أو b.

max("fieldname1", "fieldname2")

fieldname1 يحتوي على قيمة 1.5، ويحتوي fieldname2 على قيمة -3

1.5

مثال على ضرب تعبير نطاق.

["Distance"] * 2

مثال على ضرب تعبير شرط الضم.

["Distance"] * 2 > 5

الدوال المدمجة في GeoAnalytics Tools

As distance أمثلة على الدالة

تقوم دوال as distance بتحويل القيم الرقمية إلى مسافة رقمية، ويمكن عندئذٍ استخدامها في تعبير رياضي.

يمكن لأداتي إعادة إنشاء المسارات وإنشاء النطاقات استخدام دوال as distance. إذا تم استخدام القيمة الرقمية دون دالة as distance يتم افتراض أن الوحدة بالأمتار.

لا يمكن لأداة ضم المعالم استخدام دوال as distance.

دالةالتفسيرمثالالنتيجة

as_meters( <value> )

تطبيق حساب يفترض أن القيم المدخلة بالأمتار.

as_meters( ["fieldname"] )

as_meters(150)

يتم إنشاء نطاق حول النتائج بمحيط 150 مترًا.

as_kilometers( <value> )

تطبيق حساب يفترض أن القيم المدخلة بالكيلومتر.

as_kilometers( ["fieldname"] )

as_kilometers(150)

يتم إنشاء نطاق حول النتائج بمحيط 150 كيلومترًا.

as_feet( <value> )

تطبيق حساب يفترض أن القيم المدخلة بالقدم.

as_feet( ["fieldname"] )

as_feet(150)

يتم إنشاء نطاق حول النتائج بمحيط 150 قدمًا.

as_yards( <value> )

تطبيق حساب يفترض أن القيم المدخلة بالياردة.

as_yards( ["fieldname"] )

as_yards(150)

يتم إنشاء نطاق حول النتائج بمحيط 150 قدمًا.

as_nautical_miles( <value> )

تطبيق حساب يفترض أن القيم المدخلة بالميل البحري.

as_nautical_miles( ["fieldname"] )

as_nautical_miles(150)

يتم إنشاء نطاق حول النتائج بمحيط 150 ميلاً بحريًا.

as_miles( <value> )

تطبيق حساب يفترض أن القيم المدخلة بالميل.

as_miles( ["fieldname"] )

as_miles(150)

يتم إنشاء نطاق حول النتائج بمحيط 150 قدمًا.

في كل معلم، ضاعف حقل المسافة على افتراض أنه بالكيلومتر، وأضف 10 أمتار في كل تعبير نطاق.

as_kilometers(["Distance"]) * 3 + as_meters(10)

الدوال المدمجة المتقدمة لتعبيرات نطاق GeoAnalytics Tools

وإضافةً إلى التعبيرات الرياضية البسيطة، يمكن استخدام مزيد من الوظائف المتقدمة لتطبيق تعبيرات النطاق وشروط الضم.

يمكن لأداتي إعادة إنشاء المسارات وإنشاء النطاقات استخدام دوال متقدمة.

يمكن لأداة ضم المعالم استخدام العمليات المتقدمة عند إنشاء شروط الضم.

دالةالتفسيرمثالالنتيجة

constrain(<value>,<low>,<high>)

إرجاع القيمة المدخلة إذا كانت ضمن حدود القيد. إذا كانت القيمة أقل من القيمة المنخفضة، فإنها تُرجِع القيمة المنخفضة. إذا كانت القيمة أكبر من القيمة المرتفعة، فإنها تُرجِع القيمة المرتفعة.

constrain( distance, 0, 10)

constrain(['Store dist'], 6, distance)

إرجاع 0 إذا كانت distance أقل من 0 وإرجاع 10 إذا كانت distance أكبر من 10، وكذلك distance بخلاف ذلك.

إرجاع 6 إذا كانت Store dist أقل من 6 وdistance إذا كانت Store dist أكبر من distance، وStore dist بخلاف ذلك.

iff(<condition>,<true value>,<false value>)

إرجاع قيمة إذا كان الشرط مقيمًا بـ trueوقيمة أخرى إذا كان ذلك الشرط مقيمًا بـ false.

<true value> و<false value> يمكن أن يكونا ما يلي:

  • حقل رقمي. إذا وجدت مسافة في اسم الحقل، استخدم الأقواس المربعة.
  • رقم.
  • دالة.

iff(field1 > field2, field1, 0)

iff(field1 > field2, iff(field2 = 0, field3, field4), 0)

إرجاع field1 إذا كانت field1 أكبر من field2، و0 بخلاف ذلك.

إرجاع نتيجة دالة iff الثانية إذا كانت field1 أكبر من field2، و0 بخلاف ذلك.

when(<expression1>, <result1>, <expression2>, <result2>, ... , <expressionN>, <resultN>, <default>)

تقييم سلسلة تعبيرات تباعًا، حتى يتم تقييم أحدها إلى true.

  • expression- تعبير.
  • result- يمكن أن يكون رقمًا أو حقلاً.
  • default- قيمة اختيارية في حالة عدم مطابقة أيّ من التعبيرات.

when((field1 + 10) > 1, 1,(field2 + 10) > 2 , 2, field3)

إذا كانت field1 + 10 أكبر من 1، فإنها تُرجع 1. وإذا لم تكن أكبر من 1، تأكد مما إذا كانت field2 + 10 أكبر من 2. إذا كانت أكبر من 2، فإنها ترجع 2. وإذا لم تكن أكبر من 2، فإنها ترجع field3.

decode(<conditional val> , <case1> , <result1>, <case2>, <result2>, ... <caseN>, <resultN>, <defaultValue> )

تُقيّم دالة decode تعبيرًا، وتقارن قيمتها مع معلماتها التابعة. إذا تطابق التعبير، فإنه يُرجع قيمة المعلمة التالية. إذا لم يتطابق أي منها، يوجد خيار للمعلمة الأخيرة لتكون قيمة إرجاع افتراضية.

  • conditional val- يمكن أن يكون رقمًا أو حقلاً.
  • case- قيمة لمقارنتها بـ conditional val.
  • result- النتيجة إذا تطابقت الحالة المتوافقة مع conditional val.
  • defaultValue- قيمة افتراضية إذا لم تكن القيم الأخرى true.

decode(field1 + 3 , field1, 1, field2, 2, 0)

مقارنة المساواة بين القيمة الشرطية field1 + 3 وcase1 field1. إذا كانت true، فإنها ترجع 1. إذا كانت false، فإنها تقارن المساواة بين field1 + 3 وfield2. إذا كانت true، فإنها ترجع 2، وبخلاف ذلك، تُرجع 0.

يمكن للعبارات الشرطية استخدام عوامل تشغيل التالية:

عامل التشغيلالتفسيرمثالالنتائج

a > b

a < b

a أكبر من b

a أقل من b

10 > 2

خطأ

a >= b

a <= b

a أكبر من أو يساوي b

a أقل من أو يساوي b

abs(-10) >= 10

صواب

a != b

a لا يساوي b

abs(-3) != -3

صواب

a == b

a يساوي b

abs(-5) == 5

صواب

<condition1> OR <condition2>

تم تلبية الشرط الأول أو الشرط الثاني

(abs(-5) == 5) OR (10 > 2)

صواب

<condition1> AND <condition2>

تم تلبية الشرطين الأول والثاني

(abs(-5) == 5) AND (10 < 2)

خطأ

مثال على تعبير نطاق يستخدم دوال وشروط متقدمة

iff(field1 > field2, iff(field2 = 0, field3, field4), 0)

مثال على ضرب شرط الضم.

iff(field1 > field2, iff(field2 = 0, field3, field4), 0) > ["Distance"] * 2