أكثر

استخدم ST_Buffer مع مسافة مشروطة بناءً على سمة

استخدم ST_Buffer مع مسافة مشروطة بناءً على سمة


أنا جديد تمامًا على postgres / postgis وما زلت أتعلم المهارات الأساسية. لقد قمت باستيراد ملف شكل نقطي إلى قاعدة بيانات postgres الخاصة بي.

أحتاج إلى إنشاء مخزن مؤقت بنصف قطر متغير حول النقاط اعتمادًا على السمة. لقد كنت أقرأ عن وظيفة ST_buffer في الوثائق ولكن لدي مشاكل في تفسيرها حتى الآن.

أحاول استخدام SELECT geometry ST_Buffer (الهندسة g1 ، float radius_of_buffer) ؛

لقد جربت SELECT geometry ST (mypoints.geom، 100) من myschema.mypoints

آمل أن يساعدني أحد في كتابتها بشكل صحيح

تحياتي الحارة


إذا كنت تريد تخزينًا مؤقتًا شرطيًا استنادًا إلى بعض السمات ، فيمكنك استخدام بيان الحالة ، على سبيل المثال ،

حدد ST_Buffer (geom ، CASE WHEN atr = 0 ثم 10 WHEN atr = 1 ثم 20 ELSE 30 END) من نقاط mypoints ؛

من الواضح أنه يمكنك الحصول على العديد من الأوقات التي تريدها ، على الرغم من أنها قد تصبح مرهقة بسرعة. إذا كان مُضاعِفًا مباشرًا ، فيمكنك القيام بذلكST_Buffer (geom ، atr * 2)، فمثلا.


فقط اضبط متغير النطاق الخاص بك على أي حالة تريدها!

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

إذا كان هذا يشير إلى سمات HTML5 الفارغة وإزالة السمة نفسها لتجنب شرط صحيح منطقي ، فحينئذٍ:

  • إزالة سمة باستخدام: angular.element (DOMelement) .removeAttr (سمة)
  • قراءة سمة مع angular.element (DOMelement) .attr (سمة)
  • قم بتعيين سمة باستخدام angular.element (DOMelement) .attr (سمة ، قيمة)

ملاحظة: جميع مراجع العناصر في Angular يتم تغليفها دائمًا بـ jQuery أو jqLite فهي ليست مراجع DOM أولية على الإطلاق.

نأمل أن يساعد هذا - GL! تحرير 1: إليك مناقشة SO حول التلاعب بـ DOM و Angularjs هنا آخر


1 إجابة 1

هذا قيد فحص بسيط نوعًا ما:

المنطق الكامن وراء الكود هو أن القيد المنطقي إذا تمت كتابة a ثم b في منطق منطقي مثل (وليس a) أو (b). قد يبدو غير بديهي من النظرة الأولى ، لكن إذا كتبت المجموعات المنطقية الممكنة ، فستجد أنها ستنجح.

يمكن أيضًا كتابة القيد كـ CHECK (NOT (السمة AND number IS NULL)) والتي قد تبدو أكثر تفسيراً ("لا تسمح بأن تكون السمة خاطئة وأن يكون الرقم فارغًا في نفس الوقت"). اختر ما هو أكثر قابلية للقراءة بالنسبة لك.


2 إجابات 2

المشكلة الرئيسية في مهمتك هي أن تظليل التمويه gaussian يعمل عادة في عملية نشر. يتم تطبيقه بشكل عام على منفذ العرض بالكامل بعد رسم كل الأشكال الهندسية. يأخذ تظليل التمويه الغاوسي جزءًا من الإطار المؤقت (نسيج) وجيرانه ويمزج اللون هناك بوظيفة غاوسية ويخزن اللون الجديد في مخزن الإطارات النهائي. لهذا يجب الانتهاء من رسم المشهد بأكمله (جميع النقاط) من قبل.

لكن يمكنك فعل شيء آخر. اكتب تظليلًا يرسم النقاط معتمًا تمامًا في مركزه وشفافًا تمامًا عند حدوده الخارجية.

في تظليل قمة الرأس ، يجب عليك تمرير تنسيق قمة مساحة العرض ومركز مساحة العرض للنقطة إلى تظليل الجزء:

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

أضف حدًا متغيرًا موحدًا للوزن وقم بتعيين الزي الموحد في البرنامج. لاحظ ، لأن النقاط شفافة عند حدودها ، تبدو أصغر. أوصي بزيادة حجم النقاط:

أنت ترسم كائنات شفافة جزئيًا. لتحقيق تأثير مزج مناسب ، يجب عليك فرز النقاط عن طريق تصاعدي z الإحداثي:

قد يبدو رمز المثال الكامل كما يلي:

بالطبع من الممكن استخدام تظليل التمويه الغاوسي أيضًا.

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

للقيام بذلك عليك القيام بالخطوات التالية:

  1. تحويل المشهد إلى مخزن مؤقت (صورة)
  2. قم بتطبيق تمرير التمويه العمودي gaussian على الصورة واجعل النتيجة إلى مخزن مؤقت للصورة جديد
  3. قم بتطبيق التمرير الأفقي gaussian blur على نتيجة التمرير الرأسي gaussian blur

قد تبدو قائمة الكود ، التي تستخدم التظليل بالضبط من سؤالك كما يلي:

للحصول على نهج يجمع بين الحلين ، راجع أيضًا إجابة سؤالك السابق: عمق تظليل المجال للنقاط / السكتات الدماغية في المعالجة

علاوة على ذلك ، هناك حاجة إلى نقطة التظليل لرسم النقاط:

عمق المجال ذو التمريرين ، يبدو تظليل التمويه الغاوسي كما يلي:

في البرنامج ، عليك القيام بأربع مراحل: 1. تحويل المشهد إلى مخزن مؤقت (صورة) 2. تقديم "العمق" إلى مخزن مؤقت للصورة آخر 3. تطبيق ممر التمويه العمودي gaussian على الصورة وتقديم النتيجة إلى صورة جديدة المخزن المؤقت للصورة 4. تطبيق تمرير التمويه الأفقي gaussian على نتيجة التمرير العمودي gaussian blur


هل يمكنك وضع شرطين في سمة اختبار xslt؟

يجب أن يكون ملفوفًا في & ltxsl: اختر & GT لأنه كان وقتًا. وحرف صغير "و".

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

ربما يكون هذا أمرًا لا يحتاج إلى تفكير بالنسبة لـ xslt-professional ، لكن بالنسبة لي في المستوى المبتدئ / المتوسط ​​، هذا جعلني في حيرة. أردت أن أفعل الشيء نفسه تمامًا ، لكن كان علي اختبار قيمة الاستجابة من xml بدلاً من الرقم العادي. بعد هذا الموضوع ، حاولت هذا:

مما أدى إلى حدوث خطأ. هذا يعمل:

لا أفهم حقًا لماذا لا يعمل بدون رقم (). هل يمكن أن يتم التعامل مع القيمة بدون رقم () كسلسلة ولا يمكنك مقارنة الأرقام بسلسلة؟

على أي حال ، أتمنى أن يؤدي هذا إلى توفير الكثير من البحث.


1 إجابة 1

من أجل استخدام الرؤية الشرطية مع مكونات LWC المخصصة ، هناك شيئان يجب أن يحدثا.

  1. قم بإرسال FlowAttributeChangeEvent عندما تريد إعلام وقت تشغيل التدفق بأنه تم إجراء تغيير.
  2. يستخدم المتغيرات المعينة تلقائيًا في الظروف التي يجب إخطارها بالتغيير.

لا يتوفر أي مكون إدخال للشاشة مع تحديد المتغيرات يدويًا (متقدم) كمورد للرؤية الشرطية على نفس شاشة التدفق.

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

على سبيل المثال ، في الصورة أدناه ، يستخدم مكون Product Picker LWC مع حزمة اسم API التعيين التلقائي للمتغير: تعيين المتغيرات يدويًا (متقدم) خانة الاختيار غير محددة. مكون منتقي المنتج له قيمة سمة. مكون آخر له شرط يتحقق مما إذا كان باطل. سيعمل هذا عندما يكون المكونان على نفس الشاشة.

في هذه الصورة ، يحتوي مكون منتقي المنتج الذي يحمل اسم واجهة برمجة التطبيقات ManualBundle على الامتداد قم بتعيين خانة اختيار المتغيرات (متقدم) يدويًا تم التحقق منه ، وتعيين سمة القيمة إلى مورد متغير . الشرط يتحقق ما إذا كان باطل. لن تعمل هذه الحالة إذا كان كلا المكونين على نفس شاشة التدفق. لن يعمل الشرط إلا إذا كان المكون الذي يحتوي على فحص الرؤية موجودًا على شاشة لاحقة في التدفق ، لأن لم يتم تعيينه فعليًا حتى يتم إرساله إلى المحرك من جانب الخادم

ستؤدي إضافة مكون Aura أو LWC إلى شاشة التدفق في شتاء 2020 إلى تمكين التعيين التلقائي المتغير افتراضيًا.


شرح التحليل الجغرافي من خلال Pokemon GO

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

آمن لبعض الغش الخطير ، عليك التحرك حول هذا الشيء المسمى THE REAL WORLD باستخدام جهازك الذي يدعم الموقع من أجل & # 8220catch & # 8217em all & # 8221. يجعل منتجو الهواتف الذكية من الصعب حقًا التعامل مع موقع GPS ، لأنها وظيفة مهمة لجهازك. لذلك ، ما لم تكن قريبًا حقًا من نقطة التوقف هذه ، فلن تتمكن من الوصول إلى مواردها: كرات الوخز المجانية ، وتوت الراز ، وما إلى ذلك. في الجغرافيا ، غالبًا ما ندرس موقع نقاط الاهتمام أو الخدمات. على سبيل المثال ، إذا كنت تعيش أو تعمل بالقرب من مركز تسوق أو مستشفى معين ، فمن المحتمل أن تستخدم خدماتهم في وقت أو آخر. أو ، إذا كنت بعيدًا عن كلية أو جامعة وما زلت تختار متابعة التعليم العالي ، فقد تضطر إلى الانتقال حتى تكون في متناول تلك المؤسسة.

لاستخدام نقطة توقف أو صالة ألعاب رياضية ، أو للقبض على بوكيمون ، لا تحتاج إلى أن تكون في مواقع الإحداثيات الدقيقة الخاصة بهم ، ولكنك تحتاج إلى ظهورهم داخل دائرة القرب أثناء تنقلك. في التحليل الجغرافي ، غالبًا ما نفحص هذا & # 8220reach & # 8221 ، أو منطقة مستجمعات المياه ، التي يتم تحديدها عن طريق القرب من المواقع ذات الأهمية. على سبيل المثال ، عندما تتطلع سلسلة مقاهي لفتح متجر جديد ، سيقوم Geographers بفحص منافسيهم & # 8217 المواقع وملفات الأحياء المجاورة لتحديد ما إذا كانت هناك فجوة في التغطية أو ما إذا كانت هناك مناطق تجمع تضم عددًا كافيًا من الأشخاص من الفئة العمرية المناسبة دعم مقهى إضافي. في جغرافيا البيع بالتجزئة ، نسمي هذه المناطق & # 8220 مناطق التجارة & # 8221. لهذا السبب يمكنك العثور على مجموعات من Tim Horton & # 8217s و Second Cup و / أو Starbucks عند التقاطعات الرئيسية حيث تكون الجغرافيا الجغرافية مواتية & # 8211 نعم ، هذا على الأرجح محلل جغرافي & # 8217s! ولهذا السبب أيضًا يمكنك العثور على مجموعات من توقفات الوخز في بعض المواقع المزدحمة المفضلة لديك.

لدعم اتخاذ القرارات التجارية ، AKA & # 8220location Intelligence & # 8221 ، يستخدم الجغرافيون بيانات عن السكان ودخل الأسرة والعمالة وحركة الأشخاص والبيئة المبنية. إذا سبق لك & # 8220 مشاهدة & # 8221 pokevision.com لمواقع مختلفة ، فستلاحظ تباينًا كبيرًا في كثافة تفرخ البوكيمون وتردده. على سبيل المثال ، في لقطات الشاشة أدناه ، يمكنك رؤية الكثير من البوكيمون في وسط مدينة تورونتو ، ولكن ليس واحدًا في منطقة من المناطق الريفية في أونتاريو. وبالمثل ، هناك العشرات من محطات الوخز والعديد من صالات الألعاب الرياضية على مسافة قريبة في المدينة ولكن هناك توقف وحيد في ريف أونتاريو. يبدو أن بائع Pokemon GO ، Niantic ، يستخدم الجغرافيا الجغرافية في تحديد مكان انتشار البوكيمون. إنها تزيد من احتمالية انتشار البوكيمون حيث يوجد & # 8220 عميل & # 8221: أي ، أنفسكم ، المدربون / اللاعبون.

(أ) (ب) (ج)

الشكل 1: مواقع توقف الوخز وظهور البوكيمون في وسط مدينة تورونتو (أ ، ب) ، مقارنة بأونتاريو الريفية (ج)

الفضاء الجغرافي هو بعد فريد يؤثر بشكل حاسم على حياتنا ومجتمعاتنا. التوزيع المكاني للأشخاص والأشياء هو شيء يدرسه الجغرافيون. تمامًا مثل تفريخ البوكيمون بشكل عام ، لا يتم توزيع مظهر الأنواع المختلفة من البوكيمون بشكل عشوائي أيضًا. على سبيل المثال ، ثبت أن بوكيمون من النوع المائي يظهر على الأرجح بالقرب من المسطحات المائية. انظر كل هؤلاء ماجيكاربس بالقرب من بحيرة تورنتو في لقطة الشاشة أدناه؟ يبدو أن بعض أنواع البوكيمون مقصورة على قارة واحدة مثل توروس في أمريكا الشمالية وفاز & # 8217t تظهر في مكان آخر (على سبيل المثال ، أوروبا). تشير تعليمات & # 8220Professor Willow & # 8221 عند تثبيت التطبيق في الواقع إلى هذا التوزيع الإقليمي للبوكيمون. أعتقد أيضًا أن النقاط المهمة ، مثل المباني ، التي تعمل كموقفات كزة ، تحدد نوع البوكيمون الذي يتكاثر بالقرب منها. على سبيل المثال ، يولد مبنى Ontario Power Building في College St. و University Ave. في تورنتو بانتظام إليكترابوز ، كما هو موضح في آخر لقطة شاشة أدناه.

(أ) (ب) (ج)

الشكل 2: (أ) ، & # 8220Professor Willow & # 8221 يوضح اهتمامه بدراسة التوزيع الإقليمي للبوكيمون (يا له من عالم جغرافي رائع هو!) لقطات من pokevision.com مع (أ) Magicarps في بحيرة تورنتو و (ب) Elektrabuzz بالقرب من مبنى أونتاريو للطاقة

في الجغرافيا البيئية ، غالبًا ما نحلل توزيع الأنواع (غير البوكيمون) ، وهو أيضًا ليس عشوائيًا. يعد توفر الموائل المناسبة أمرًا بالغ الأهمية ، تمامًا مثل البوكيمون. بالإضافة إلى ذلك ، تعتبر التفاعلات المكانية بين الأنواع مهمة & # 8211 تذكر السلسلة الغذائية التي تعلمتها في المدرسة. لست متأكدًا من أن أنواع البوكيمون المختلفة تتفاعل مع بعضها البعض ، فربما يكون هذا هو موضوع مشروعك الدراسي الأول ، وأنت تدخل برنامج الجغرافيا في الجامعة؟

تشمل التقنيات التي نستخدمها في أنظمة المعلومات الجغرافية (GIS) رسم خرائط الملائمة ، وتحليل المسافة والمخزن ، وتضاؤل ​​المسافة. يعني تدهور المسافة أنه أصبح أقل فأقل احتمالًا لمقابلة نوع ما وأنت تبتعد عن الموائل المناسبة. أو في مجال الأعمال ، تقل احتمالية قيام الناس بالتسوق في مركز تجاري معين كلما ابتعدوا عنه. المخزن المؤقت هو منطقة بمسافة محددة حول نقطة أو خط أو مضلع ، تمامًا مثل دائرة القرب حول الصورة الرمزية للبوكيمون. يمكن لبرنامج GIS تحديد ما إذا كانت الميزات الأخرى موجودة داخل المخزن المؤقت حول الموقع. بدلاً من تمكين الوصول إلى نقاط توقف أو صالات رياضية حول صورتك الرمزية ، سيستخدم Geographers تحليل المخزن المؤقت لتحديد السكان الذين يمكنهم الوصول إلى وسائل النقل العام ، على سبيل المثال إذا كانوا على مسافة 500 متر أو كيلومتر واحد من محطة ترانزيت.

فكرة أخيرة حول كيف جلبت Pokemon GO الجغرافيا إلى العناوين الرئيسية تتعلق بالتحديات المهنية والمجتمعية المهمة التي يمكن ل Geographers معالجتها. وتتراوح هذه من تصميم الخرائط ووظائف الخرائط عبر الإنترنت إلى التعهيد الجماعي للبيانات الجغرافية المكانية ، فضلاً عن التعامل مع البيانات الضخمة ، ومخاوف الخصوصية ، وفي النهاية التحكم في مواقع الأشخاص وحركاتهم. استخدمت خريطة الويب pokevision.com التي تم حلها الآن تقنية Esri لرسم الخرائط عبر الإنترنت ، وهي واحدة من البائعين الرائدين في العالم لبرامج نظم المعلومات الجغرافية ومروجي الجغرافيا الاحترافية. هناك طريقة أخرى ، يستخدمها موقع pokemonradargo.com ، حيث يقوم المدربون (المستخدمون) بالإبلاغ / تحميل مشاهد البوكيمون الخاصة بهم في الوقت الفعلي. يأتي هذا التعهيد الجغرافي المكاني مع مجموعة من المشكلات حول دقة البيانات التعهيد الجماعي والتحيز فيها بالإضافة إلى استخدام العمالة المجانية. على سبيل المثال ، تم إنشاء توقفات الوخز بواسطة لاعبين في لعبة سابقة تعتمد على الموقع تسمى & # 8220Ingress & # 8221 وتستخدمها الآن Niantic في مشروع ربحي & # 8211 Pokemon GO! أخيرًا ، لقد قرأت جميعًا عن استخدام الإغراء وإساءة استخدامه لجذب الناس للتوقف في أوقات مختلفة من النهار والليل. طلبت مدينة تورنتو مؤخرًا إزالة محطات الوخز بالقرب من محطة عبّارات الجزيرة الشهيرة لأسباب تتعلق بمراقبة المشاة وسلامتهم. تخيل كيف يمكن للشركات أو الحكومة في المستقبل التحكم في حركتنا في الفضاء الحقيقي باستخدام ألعاب أكثر تقدمًا.

آمل أن أكون قادرًا على شرح كيف يمثل Pokemon GO التأثير الأكبر للجغرافيا على حياتنا اليومية وكيف يعد الجغرافيون ويتخذون قرارات مهمة جدًا وطويلة الأجل في مجال الأعمال والحكومة على أساس تحليل البيانات الجغرافية المكانية. تحقق من درجة البكالوريوس في التحليل الجغرافي أو MSA في برامج التحليل المكاني لاكتشاف المزيد وتأمين مهنة مجدية ومجزية في الجغرافيا. ونتمنى لك التوفيق في الصيد وتدريب المزيد من البوكيمون!


1 إجابة 1

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

بالنسبة للسمات القابلة للضبط مثل الذاكرة الإجمالية ، سأفعل إلى حد كبير كما حددت في السؤال عن طريق إضافة قيمة افتراضية معقولة إلى السمات / default.rb (يقلل من أسئلة الدعم عندما ينسى شخص ما تعيين قيمة صراحة) والتجاوز مع البيئة أو الدور أو القيم الخاصة بالعقدة عند الضرورة.

من الممكن إجراء العمليات الحسابية داخل ملف ERB مثل هذا:

يوفر Ohai الإحصائيات المجانية (1) والتي تتضمن إجمالي الذاكرة بالكيلو بايت. العقدة ['memory'] ['total'] = '12312432kB' على محطة العمل الخاصة بي.

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

  • اختر وصفة افتراضية معقولة حيثما أمكن ذلك
  • استخدام سمة البيئة الافتراضية (يمكنك استخدام سمة تجاوز في المثال)
  • استخدم سمة دور لمجموعات العقد (مرة أخرى تستخدم سمة تجاوز)
  • وأخيرًا سمة العقدة الافتراضية

راجع ارتباط أسبقية السمة في Chef wiki) للترتيب الذي تتجاوز فيه السمات بعضها البعض.

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


الاستنتاجات

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

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

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


استخدم ST_Buffer مع مسافة مشروطة بناءً على سمة - أنظمة المعلومات الجغرافية

يوفر الجدول STATISTICS معلومات حول فهارس الجدول.

تحتوي الأعمدة في الإحصائيات التي تمثل إحصائيات الجدول على قيم مخزنة مؤقتًا. يحدد متغير نظام information_schema_stats_expiry الفترة الزمنية قبل انتهاء صلاحية إحصائيات الجدول المخزن مؤقتًا. الافتراضي هو 86400 ثانية (24 ساعة). في حالة عدم وجود إحصائيات مخزنة مؤقتًا أو انتهاء صلاحية الإحصائيات ، يتم استرداد الإحصائيات من محركات التخزين عند الاستعلام عن أعمدة إحصائيات الجدول. لتحديث القيم المخزنة مؤقتًا في أي وقت لجدول معين ، استخدم ANALYZE TABLE. لاسترداد أحدث الإحصائيات دائمًا مباشرةً من محركات التخزين ، قم بتعيين information_schema_stats_expiry = 0. لمزيد من المعلومات ، راجع القسم 8.2.3 ، "تحسين استعلامات INFORMATION_SCHEMA".

إذا تم تمكين متغير النظام innodb_read_only ، فقد يفشل ANALYZE TABLE لأنه لا يمكنه تحديث جداول الإحصائيات في قاموس البيانات ، والتي تستخدم InnoDB. بالنسبة لعمليات ANALYZE TABLE التي تقوم بتحديث توزيع المفتاح ، قد يحدث الفشل حتى إذا كانت العملية تقوم بتحديث الجدول نفسه (على سبيل المثال ، إذا كان جدول MyISAM). للحصول على إحصائيات التوزيع المحدثة ، قم بتعيين information_schema_stats_expiry = 0.

يحتوي جدول الإحصائيات على هذه الأعمدة:

اسم الكتالوج الذي ينتمي إليه الجدول الذي يحتوي على الفهرس. هذه القيمة دائما معرّفة.

اسم المخطط (قاعدة البيانات) الذي ينتمي إليه الجدول الذي يحتوي على الفهرس.

اسم الجدول الذي يحتوي على الفهرس.

0 إذا كان الفهرس لا يحتوي على تكرارات ، 1 إذا كان بإمكانه ذلك.

اسم المخطط (قاعدة البيانات) الذي ينتمي إليه الفهرس.

اسم الفهرس. إذا كان الفهرس هو المفتاح الأساسي ، يكون الاسم دائمًا PRIMARY.

رقم تسلسل العمود في الفهرس ، بدءًا من 1.

اسم العمود. راجع أيضًا وصف عمود EXPRESSION.

كيف يتم فرز العمود في الفهرس. يمكن أن يحتوي هذا على قيم A (تصاعدي) أو D (تنازلي) أو NULL (غير مرتبة).

تقدير لعدد القيم الفريدة في الفهرس. لتحديث هذا الرقم ، قم بتشغيل ANALYZE TABLE أو (لجداول MyISAM) myisamchk -a .

يتم حساب CARDINALITY على أساس الإحصائيات المخزنة كأعداد صحيحة ، وبالتالي فإن القيمة ليست دقيقة بالضرورة حتى بالنسبة للجداول الصغيرة. كلما زادت العلاقة الأساسية ، زادت فرصة استخدام MySQL للفهرس عند إجراء عمليات الصلات.

بادئة الفهرس. أي عدد الأحرف المفهرسة إذا كان العمود مفهرسًا جزئيًا فقط ، أو NULL إذا تم فهرسة العمود بأكمله.

اختصار حدود تقاس بالبايت. ومع ذلك ، البادئة أطوال بالنسبة لمواصفات الفهرس في عبارات CREATE TABLE ، و ALTER TABLE ، و CREATE INDEX يتم تفسيرها على أنها عدد الأحرف لأنواع السلاسل غير الثنائية (CHAR ، VARCHAR ، TEXT) وعدد البايت لأنواع السلاسل الثنائية (BINARY ، VARBINARY ، BLOB). ضع ذلك في الاعتبار عند تحديد طول البادئة لعمود سلسلة غير ثنائي يستخدم مجموعة أحرف متعددة البايت.

يشير إلى كيفية تعبئة المفتاح. NULL إذا لم يكن كذلك.

يحتوي على YES إذا كان العمود قد يحتوي على قيم NULL و "" إذا لم يكن كذلك.

طريقة الفهرس المستخدمة (BTREE، FULLTEXT، HASH، RTREE).

لم يتم وصف معلومات حول الفهرس في العمود الخاص به ، مثل تعطيل إذا تم تعطيل الفهرس.

أي تعليق تم توفيره للفهرس بسمة COMMENT عند إنشاء الفهرس.

ما إذا كان الفهرس مرئيًا للمحسن أم لا. راجع القسم 8.3.12 ، "فهارس غير مرئية".

يدعم MySQL 8.0.13 والإصدارات الأحدث الأجزاء الرئيسية الوظيفية (انظر الأجزاء الرئيسية الوظيفية) ، والتي تؤثر على كل من عمودي COLUMN_NAME و EXPRESSION:

بالنسبة للجزء الأساسي غير الوظيفي ، يشير العمود COLUMN_NAME إلى العمود المفهرس بواسطة الجزء الرئيسي ويكون EXPRESSION هو NULL.

بالنسبة لجزء أساسي وظيفي ، يكون العمود COLUMN_NAME فارغًا ويشير EXPRESSION إلى التعبير الخاص بالجزء الأساسي.

تلاحظ

لا يوجد جدول INFORMATION_SCHEMA قياسي للفهارس. تشبه قائمة أعمدة MySQL ما يقوم SQL Server 2000 بإرجاعه لـ sp_statistics ، فيما عدا استبدال QUALIFIER و OWNER بـ CATALOG و SCHEMA ، على التوالي.

تتوفر أيضًا معلومات حول فهارس الجدول من بيان SHOW INDEX. راجع القسم 13.7.7.22 ، "إظهار بيان الفهرس". البيانات التالية متكافئة:


شاهد الفيديو: قياس المسافة الأفقية بين مستخدم الأسياخ والهدف