أكثر

اختلاف غريب في PostGIS في حساب المسافة من تحديدات نقطة مختلفة

اختلاف غريب في PostGIS في حساب المسافة من تحديدات نقطة مختلفة


لدي قاعدة بيانات POSTGIS عاملة ، وقمت بتحميل بيانات CBS الهولندية باستخدام shp2pgsql ، والآن أريد تعيين إحداثيات خطوط الطول والعرض إلى أضلاع متعددة.

كل الأمثلة التي أراها تستخدم إحداثيات خطوط الطول والعرض ولكن إذا قمت بذلك ، فسأحصل على مسافة كبيرة من كائنات geom الخاصة بي ... إذا استخدمت الإحداثيات من http://epsg.io/28992/map# فهي تعمل ...

حدد gm_naam، st_distance (geom، ST_SetSRID (ST_MakePoint (5.112472، 52.008417)، 28992)) كتوزيع، ST_Distance (geom، ST_SetSRID (ST_Point (134989.82، 448191.66)، 28992)) as dist2 FROM_2013staging

والنتيجة كالتالي:

gm_naam dist2 Nieuwegein 465085.92145570647 0.0 IJsselstein 464133.17518803617 2018.4612972214297 Houten 463571.9453450817 2037.1431117615386 فيانين 459472.14358348626 2102.6589540861714 Utr8.348

إذن Nieuwegein هي الإجابة الصحيحة ، dist2 هي حساب coorect لكن الإحداثيات ليست lon ، lat ...

سؤال: كيف يمكنني تحديد نقطة باستخدام خط الطول والمسافة الصحيحة؟


يبدو أن الجدول الخاص بك مجسم Amersfoort منحرف (EPSG: 28992). لاستخدام نقطة lon / lat كمدخل ، تحتاج إلى إنشائها كنقطة lon / lat ، ثم تحويلها ، بحيث تبدو وظيفة المسافة الخاصة بك كما يلي:

ST_Distance (geom ، ST_Transform (ST_SetSRID (ST_MakePoint (5.112472 ، 52.008417) ، 4326) ، 28992))

بحساب x و y إحداثيات مسافة محددة بين نقطتين

أحاول حساب إحداثيات x و y اللذان يمثلان مسافة محددة بين إحداثيات اثنين من وحدات البكسل في الصورة.

على سبيل المثال ، إذا سافرت من موقعي الأصلي (x1 = 4 ، y1 = 3) إلى موقع جديد (x2 = 4 ، y2 = 11) ، فمن السهل جدًا حساب أن هذه النقاط تفصل بينها 8 بكسل:

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

تعديل شكرًا لك Arpan على مساعدتك الرائعة ، هذه هي الطريقة التي طبقت بها اقتراحك في Python. لقد حسبت أيضًا نقطة المنتصف للتحقق من صحة الإجابة:

التحرير النهائي لقد أدركت للتو أن الزاوية يجب أن تكون بالتقدير الدائري ، وليس بالدرجات ، كنت أقوم بتحويلها إلى درجات ولكن انتهى بي الأمر بإجابات غريبة ، والتي تم تعديلها الآن ويبدو أنها تعمل بشكل جيد. شكرا لجميع التعليمات!

التحرير النهائي النهائي نسيت أن تتحقق مما إذا كانت النقاط الموجودة على نفس المحور x أو y موجبة أم سلبية.


تحويل و ldquogeometry و rdquo إلى ldquogeography و rdquo

أنا في مشروع اختباري للتعرف على أدوات تحديد الموقع الجغرافي. لكن كوني مبتدئًا ، تهرب مني بعض المفاهيم في PostGIS. إليكم مشكلتي: كان SRID المستخدم 4326. لدي ثلاثة حقول: الحقل "geocenter" الذي أخزن فيه مركز دوائري ، والحقل "georadius" الذي أخزن فيه نصف قطر الدائرة والحقل "geocircle" الذي توجد فيه الدوائر المخزنة التي هي في الحقيقة مجرد مضلعات. باستخدام ST_Buffer ، لاحظت أن بعض قمم المضلعات (الدوائر) تتجاوز النطاق [-180 -90 180 90]. ما يهمني هو حساب المسافة من نقطة خارج الدائرة عن الدائرة. ST_Distance باستخدام هذه المضلعات لأنواع الهندسة ، أجد أن المسافة المحسوبة خاطئة. اعتقدت بعد ذلك استخدام CAST ولكن لدي هذا الخطأ: قيم الإحداثيات خارج النطاق [-180 -90 180 90] لنوع الجغرافيا. من فضلك ، هل هناك طريقة لتحويل هذه البيانات "الهندسية" إلى بيانات "جغرافية" بالرغم من أن النقاط خارج النطاق [-180 -90 180 90]؟ شكرا لك


4.3 نوع بيانات الجغرافيا

يوفر نوع البيانات الجغرافية لـ PostGIS دعمًا أصليًا للسمات المكانية الممثلة في الإحداثيات "الجغرافية" (تسمى أحيانًا إحداثيات "جيوديسية" أو "خطوط الطول / العرض" أو "خط الطول / العرض"). الإحداثيات الجغرافية هي إحداثيات كروية معبر عنها بوحدات زاوية (درجات).

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

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

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

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

قبل PostGIS 2.2 ، كان النوع الجغرافي يدعم فقط WGS 84 long lat (SRID: 4326). بالنسبة لنظام PostGIS 2.2 وما فوق ، يمكن استخدام أي نظام مرجعي مكاني طويل / خط العرض محدد في الجدول spatial_ref_sys. يمكنك حتى إضافة نظام الإسناد المكاني الكروي المخصص الخاص بك كما هو موضح في نوع الجغرافيا لا يقتصر على الأرض.

بغض النظر عن نظام الإسناد المكاني الذي تستخدمه ، فإن الوحدات التي يتم إرجاعها بواسطة القياس (ST_Distance ، ST_Length ، ST_Perimeter ، ST_Area) ولإدخال ST_D داخل هي بالأمتار.

يستخدم النوع الجغرافي تنسيق تعريف طراز PostgreSQL بحيث يمكن إضافة جدول يحتوي على حقل جغرافي في خطوة واحدة. يتم دعم جميع تنسيقات OGC القياسية باستثناء المنحنيات.

4.3.1. أساسيات الجغرافيا

لا يدعم نوع الجغرافيا المنحنيات أو TINS ​​أو POLYHEDRALSURFACEs ، لكن الأنواع الهندسية الأخرى مدعومة. سيتم إرسال بيانات النوع الهندسي القياسي تلقائيًا إلى المنطقة الجغرافية إذا كانت SRID 4326. يمكنك أيضًا استخدام اصطلاحات EWKT و EWKB لإدخال البيانات.

POINT: إنشاء جدول بنقطة جغرافية ثنائية الأبعاد عندما لا يتم تحديد srid افتراضيًا إلى 4326 WGS 84 long lat:

POINT: إنشاء جدول بنقطة جغرافية ثنائية الأبعاد في NAD83 longlat:

إنشاء جدول بنقطة إحداثيات z وتحديد srid بشكل صريح

يتم تسجيل حقول الجغرافيا في عرض نظام geography_columns.

الآن ، تحقق من عرض "geography_columns" ولاحظ أن جدولك مدرج.

يمكنك إنشاء جدول جديد بعمود جغرافي باستخدام بناء جملة CREATE TABLE.

لاحظ أن عمود الموقع يحتوي على النوع GEOGRAPHY وأن النوع الجغرافي يدعم معدلين اختياريين: معدِّل النوع الذي يقيد نوع الأشكال والأبعاد المسموح بها في العمود ، ومعدل SRID الذي يقيد معرف مرجع الإحداثيات على رقم معين.

القيم المسموح بها لمعدِّل النوع هي: POINT، LINESTRING، POLYGON، MULTIPOINT، MULTILINESTRING، MULTIPOLYGON. يدعم المُعدِّل أيضًا قيود الأبعاد من خلال اللواحق: Z و M و ZM. لذلك ، على سبيل المثال ، قد يسمح معدِّل "LINESTRINGM" بسلاسل سطر ذات ثلاثة أبعاد فقط ، وسيعامل البعد الثالث كمقياس. وبالمثل ، يتوقع "POINTZM" بيانات رباعية الأبعاد.

إذا لم تحدد SRID ، فسيتم استخدام SRID افتراضيًا إلى 4326 WGS 84 long / latex ، وستستمر جميع الحسابات باستخدام WGS84.

بمجرد الانتهاء من إنشاء الجدول الخاص بك ، يمكنك رؤيته في جدول GEOGRAPHY_COLUMNS:

يمكنك إدراج البيانات في الجدول كما لو كنت تستخدم عمودًا هندسيًا:

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

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

يمكنك أن ترى قوة الجغرافيا في العمل من خلال حساب مدى قرب طائرة تحلق من سياتل إلى لندن (LINESTRING (-122.33 47.606 ، 0.0 51.5)) من ريكيافيك (النقطة (-21.96 64.15)).

اختبار المشاريع المختلفة. يُسمح بأي نظام مرجعي مكاني طويل مدرج في جدول spatial_ref_sys.

يحسب النوع الجغرافي المسافة الحقيقية الأقصر فوق الكرة بين ريكيافيك ومسار الطيران الدائري العظيم بين سياتل ولندن.

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

4.3.2. متى يجب استخدام نوع بيانات الجغرافيا

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

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

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

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

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

راجع القسم 15.11 ، "مصفوفة دعم وظيفة PostGIS" للمقارنة بين ما هو مدعوم للجغرافيا مقابل الهندسة. للحصول على قائمة موجزة ووصف وظائف الجغرافيا ، يرجى الرجوع إلى القسم 15.4 ، "وظائف دعم الجغرافيا في PostGIS"

4.3.3. الأسئلة الشائعة حول الجغرافيا المتقدمة

هل تحسب على الكرة أم الكروية؟

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

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

ماذا عن خط التاريخ والأعمدة؟

جميع العمليات الحسابية ليس لها تصور لخط التاريخ أو الأقطاب ، والإحداثيات كروية (خط الطول / خط العرض) لذا فإن الشكل الذي يتقاطع مع خط التاريخ ، من وجهة نظر حسابية ، لا يختلف عن أي شكل آخر.

ما هو أطول قوس يمكنك معالجته؟

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

لماذا هو بطيء جدًا في حساب مساحة أوروبا / روسيا / إدخال منطقة جغرافية كبيرة هنا؟

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

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


إيجاد التوزيع الهامشي ، مجال الوحدة

طُلب مني إيجاد التوزيع الهامشي لـ $ (X، Y) $ حيث أن $ (X، Y، Z) $ هي نقطة تم اختيارها بشكل موحد على وحدة المجال.

لقد توصلت إلى أن دالة كثافة المفصل $ f_(x، y، z) = frac <3> <4 pi> $ مقابل $ x ^ 2 + y ^ 2 + z ^ 2 leq 1. $

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

هل ستكون هذه هي الطريقة الصحيحة للذهاب ،

أم أنني أقوم بالفعل بحساب التوزيع الهامشي لـ $ F_X (x) $ إذا قمت بذلك؟

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


2 إجابات 2

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

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

  • أ = ST_Distance (POINT (0،0) ، POINT (0،1)). هذا يعني أن أ = 1.
  • ص = 6370986 متر
  • بي = 3.141593 العش. باستخدام pi () هنا

لذا فإن مكالمتك لـ ST_Distance_Sphere (النقطة (0،0) ، النقطة (0،1)) هي نفس كما،

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

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


تحديد القيم المتطرفة باستخدام معدل الذكاء أو الانحراف المعياري؟

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

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

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

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

سيتم حساب الحدود باستخدام الانحراف المعياري على النحو التالي:

تحديث كيف فعلنا ذلك

اخترنا طريقة الانحراف المعياري ، إذا تم العثور على القيم المتطرفة المتطرفة ، على سبيل المثال عن طريق الخطأ المطبعي. يتم تصحيحها عن طريق تغيير أو حذف ملاحظاتهم وتشغيل التحليل مرة أخرى.

تحرير: أم أن طريقة MAD أفضل لتحديد القيم المتطرفة؟

Edit2 ، معلومات إضافية حول بياناتي لـ Kjetil

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

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

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

الشركة التي أعمل بها تقدر قيم التربية بناءً على الكثير من الصفات المختلفة. حاليًا ، تتم معالجة البيانات مسبقًا بواسطة حدود وبروتوكولات معينة. هذه الحدود هي على سبيل المثال 0 كجم كحد أدنى و 999 كجم كحد أقصى لوزن خنزير. لا أعرف الكثير عن البروتوكولات. أعتقد أن أحدهما هو تاريخ أول وآخر قياس للخنزير يجب أن يكون بين 60-90 يومًا من بعضهما البعض. المهمة التي كلفني بها هي استخدام النماذج الإحصائية للحصول على قائمة المخلفات. بالنسبة لهذه المخلفات ، يتعين علي تحديد القيم المتطرفة لإزالة نقاط البيانات الخاطئة. لا نريد أن تؤثر البيانات الناتجة عن خطأ بشري على عملية تحديد قيم التربية. مثال: تنمو الخنازير بمعدل 900 جرام يوميًا. ينمو الخنزير أ 1450 جرامًا في اليوم ، وهناك اختلاف بمقدار 50 جرامًا يمكن تفسيره حسب الجنس ، و 150 جرامًا بخط التكاثر و 100 جرامًا أخرى بعوامل أخرى. وهذا يترك مكسبًا يوميًا يبلغ 225 جرامًا لا يمكننا تفسيره بشكل مباشر. سيحصل الخنزير أ على قيمة تربية إيجابية للمكاسب اليومية للسمة. هذه التفاصيل مثيرة للاهتمام لشركتي.

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

إليك مخطط qqnorm () من نفس مجموعة البيانات مثل المؤامرة أعلاه

البيانات التي تنتمي إلى قطعتي الأرض أعلاه ، كما ترى ، هناك 1327 قيمة سفلية و 1000 سياج علوي:


مدهنتد

لماذا السجاد الطائرة ممنوع بينما المكانس الطائرة لا؟

هل من الممكن أن يكون لديك وظيفة في SciComp دون المساهمة في أبحاث الأسلحة؟

"Je suis petite، moi؟"، هدف "moi"؟

كيف يمكنني أتمتة حساب الموتر هذا؟

المدير يطلب مني تناول الفطور من الآن فصاعدا

تغيير متغير التكرار في حلقة Do

كيف ترسل الأموال عندما لا تكون متأكدًا من أنها ليست عملية احتيال؟

ما مدى أهمية الحالة المزاجية للمؤلف ومشاعره لكتابة القصة؟

هل يمكنني استخدام عجلة سكة حديدية على السكك الحديدية البريطانية المستخدمة بكثرة؟

هل لا يزال التشفير مطبقًا إذا تجاهلت تحذير شهادة SSL للشهادات الموقعة ذاتيًا؟

كيف أسس J.J. Thomson الطبيعة الجسيمية للإلكترون؟

لماذا تتبع أرقام مربع حاصل قسمة مماثل؟

لماذا يمتلك جزيء رباعي السطوح مثل الميثان عزم ثنائي القطب يساوي صفرًا؟

لماذا لم يستعيد دكتور سترينج توني ستارك بعد أن استخدم الأحجار؟

هل هذا هاتف Android Android 9.0 أم Android 6.0؟

تحسين وظيفة O (N ^ 2) (جميع الكيانات التي تتكرر على جميع الكيانات الأخرى)

لماذا لا ينظر البشر إلى الموجات على أنها ضعف ترددها؟

"اعتاد أن يكون هذا رقم هاتفي"

لماذا لا أستطيع سماع ضجيج الفريت من خلال أمبير؟

لماذا تقترب Google من جهاز VPS الخاص بي؟

كيفية تحديد جميع النقاط داخل مضلع في PostGIS؟

حدد مضاعفة النقاط PostGISH كيف تحدد جميع النقاط داخل دائرة في PostGIS؟ قم بإنشاء نقاط عشوائية في المضلع. سؤال الخوارزمية Postgre / PostGIS - كيفية العثور على نقاط داخل منطقة العثور على جميع المضلعات داخل مضلعإدراج النقاط في PostGIS باستخدام وظيفة كيفية التحقق من مجموعة من النقاط داخل مضلع أو ليست في postgis؟ POSTGIS - عد النقاط الموجودة داخل مضلع وتجميعها لهم من خلال ميزة مشتركة epython psycopg2 إدراج الجدول في postgis: الهندسة تتطلب المزيد من النقاط نقل النقاط إلى الداخل إلى المضلع باستخدام PostGIS؟

لدي جدول samplecol يحتوي على (عينة):

أحاول إحضار جميع النقاط داخل المضلع باستخدام:

poisInpolygon = "" "SELECT samplecol.latitude، samplecol.longitude
من العينة
أين
ST_Contains (samplecol.the_geom، ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406 47.6357836، -15.0292969 47.6357836) ")')
cursor.execute (poisInpolygon)

موجود 1 = cursor.fetchall ()
العد 1 = 0
ل ex1 موجود 1:
العد 1 = عدد 1 + 1
طباعة ex1 ، "n"
طباعة "النقاط" ، عدد 1

لكن هذا لا يعطي نتائج على الرغم من أنني أعلم أن هناك العديد من النقاط داخل هذا المضلع.

تحتاج إلى تعيين SRID لمغلف البحث الخاص بك على 4326 وتحتاج إلى تحويل تمثيل WKT إلى هندسة ، على سبيل المثال ، ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836. -15.0292969 47.6357836))) '). لأكون صادقًا ، أنا مندهش من أنك لا تحصل على خطأ على طول الخطوط التي لا توجد بها وظيفة ST_Contains (geom ، text) ، على الرغم من مقتطف الشفرة ، ربما لا يكون لديك معالج خطأ حول استدعاء الوظيفة.

& # 8211 & # 160 جون باول
3 يونيو 2018 الساعة 9:37

أنت تقصد شيئًا مثل: ST_Contains (samplecol.the_geom، (ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406) ؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 9:45

هل يمكنك تقديم الاستعلام الكامل من فضلك؟ لا أستطيع معرفة ذلك. أحاول ما يلي: poisInpolygon = "" SELECT col.vessel_hash، col.longitude، col.latitude من sampelcol as col، ST_Contains (ST_GeomFromEWKT ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.517512007، -16821797.94 47.6357836، -15.0292969 47.6357836)) ')، ST_GeomFromEWKT (col.the_geom)) من samplecol كـ col "" "ولكن تُرجع: (103079215291L ، عشري ('40 .87011000') ، عشري ('29 .20170000 ') ، خطأ). لماذا ترجع False؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 10:32

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

بينما يجب عليك بناء هندسة PostGIS من العرض التقديمي WKT للمضلع المرجعي الخاص بك ، فإن جدول "samplecol" الخاص بك يحتوي بالفعل على هندسة PostGIS و ST_GeomFromEWKT (col.the_geom) لا معنى له على الإطلاق. col.the_geom هو ما تحتاجه.

لدي جدول samplecol يحتوي على (عينة):

أحاول إحضار جميع النقاط داخل المضلع باستخدام:

poisInpolygon = "" "SELECT samplecol.latitude، samplecol.longitude
من العينة
أين
ST_Contains (samplecol.the_geom، ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406 47.6357836، -15.0292969 47.6357836) ")')
cursor.execute (poisInpolygon)

موجود 1 = cursor.fetchall ()
العد 1 = 0
ل ex1 موجود 1:
العد 1 = عدد 1 + 1
طباعة ex1 ، "n"
طباعة "النقاط" ، عدد 1

لكن هذا لا يعطي نتائج على الرغم من أنني أعلم أن هناك العديد من النقاط داخل هذا المضلع.

تحتاج إلى تعيين SRID لمغلف البحث الخاص بك على 4326 وتحتاج إلى تحويل تمثيل WKT إلى هندسة ، على سبيل المثال ، ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836. -15.0292969 47.6357836))) '). لأكون صادقًا ، أنا مندهش من أنك لا تحصل على خطأ على طول الخطوط التي لا توجد بها وظيفة ST_Contains (geom ، text) ، على الرغم من مقتطف الشفرة ، ربما لا يكون لديك معالج خطأ حول استدعاء الوظيفة.

& # 8211 & # 160 جون باول
3 يونيو 2018 الساعة 9:37

أنت تقصد شيئًا مثل: ST_Contains (samplecol.the_geom، (ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406) ؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 9:45

هل يمكنك تقديم الاستعلام الكامل من فضلك؟ لا أستطيع معرفة ذلك. أحاول ما يلي: poisInpolygon = "" SELECT col.vessel_hash، col.longitude، col.latitude من sampelcol as col، ST_Contains (ST_GeomFromEWKT ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.517512007، -16821797.94 47.6357836، -15.0292969 47.6357836)) ')، ST_GeomFromEWKT (col.the_geom)) من samplecol كـ col "" "ولكن تُرجع: (103079215291L ، عشري ('40 .87011000') ، عشري ('29 .20170000 ') ، خطأ). لماذا ترجع False؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 10:32

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

بينما يجب عليك إنشاء هندسة PostGIS من عرض WKT للمضلع المرجعي الخاص بك ، فإن جدول "samplecol" الخاص بك يحتوي بالفعل على أشكال هندسية PostGIS و ST_GeomFromEWKT (col.the_geom) لا معنى له على الإطلاق. col.the_geom هو ما تحتاجه.

لدي جدول samplecol يحتوي على (عينة):

أحاول إحضار جميع النقاط داخل المضلع باستخدام:

poisInpolygon = "" "SELECT samplecol.latitude، samplecol.longitude
من العينة
أين
ST_Contains (samplecol.the_geom، ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406 47.6357836، -15.0292969 47.6357836) ")')
cursor.execute (poisInpolygon)

موجود 1 = cursor.fetchall ()
العد 1 = 0
ل ex1 موجود 1:
العد 1 = عدد 1 + 1
طباعة ex1 ، "n"
طباعة "النقاط" ، عدد 1

لكن هذا لا يعطي نتائج على الرغم من أنني أعلم أن هناك العديد من النقاط داخل هذا المضلع.

لدي جدول samplecol يحتوي على (عينة):

أحاول إحضار جميع النقاط داخل المضلع باستخدام:

poisInpolygon = "" "SELECT samplecol.latitude، samplecol.longitude
من العينة
أين
ST_Contains (samplecol.the_geom، ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406 47.6357836، -15.0292969 47.6357836) ")')
cursor.execute (poisInpolygon)

موجود 1 = cursor.fetchall ()
العد 1 = 0
ل ex1 موجود 1:
العد 1 = عدد 1 + 1
طباعة ex1 ، "n"
طباعة "النقاط" ، عدد 1

لكن هذا لا يعطي نتائج على الرغم من أنني أعلم أن هناك العديد من النقاط داخل هذا المضلع.

تحتاج إلى تعيين SRID لمغلف البحث الخاص بك على 4326 وتحتاج إلى تحويل تمثيل WKT إلى هندسة ، على سبيل المثال ، ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836. -15.0292969 47.6357836))) '). لأكون صادقًا ، أنا مندهش من أنك لا تحصل على خطأ على طول الخطوط التي لا توجد بها وظيفة ST_Contains (geom ، text) ، على الرغم من مقتطف الشفرة ، ربما لا يكون لديك معالج خطأ حول استدعاء الوظيفة.

& # 8211 & # 160 جون باول
3 يونيو 2018 الساعة 9:37

أنت تقصد شيئًا مثل: ST_Contains (samplecol.the_geom، (ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406) ؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 9:45

هل يمكنك تقديم الاستعلام الكامل من فضلك؟ لا أستطيع معرفة ذلك. أحاول هذا: poisInpolygon = "" SELECT col.vessel_hash، col.longitude، col.latitude من sampelcol as col، ST_Contains (ST_GeomFromEWKT ('POLYGON (((- 15.0292969 47.6357836، -15.2050781 47.517512007، -1682179794.147.51751656 29.38217974 47.6357836، -15.0292969 47.6357836)) ')، ST_GeomFromEWKT (col.the_geom)) من samplecol كـ col "" "ولكن تُرجع: (103079215291L ، عشري ('40 .87011000') ، عشري ('29 .20170000 ') ، خطأ). لماذا ترجع False؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 10:32

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

بينما يجب عليك إنشاء هندسة PostGIS من عرض WKT للمضلع المرجعي الخاص بك ، فإن جدول "samplecol" الخاص بك يحتوي بالفعل على أشكال هندسية PostGIS و ST_GeomFromEWKT (col.the_geom) لا معنى له على الإطلاق. col.the_geom هو ما تحتاجه.

تحتاج إلى تعيين SRID لمغلف البحث الخاص بك على 4326 وتحتاج إلى تحويل تمثيل WKT إلى هندسة ، على سبيل المثال ، ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836. -15.0292969 47.6357836))) '). لأكون صادقًا ، أنا مندهش من أنك لا تحصل على خطأ على طول الخطوط التي لا توجد بها وظيفة ST_Contains (geom ، text) ، على الرغم من مقتطف الشفرة ، ربما لا يكون لديك معالج خطأ حول استدعاء الوظيفة.

& # 8211 & # 160 جون باول
3 يونيو 2018 الساعة 9:37

أنت تقصد شيئًا مثل: ST_Contains (samplecol.the_geom، (ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406) ؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 9:45

هل يمكنك تقديم الاستعلام الكامل من فضلك؟ لا أستطيع معرفة ذلك. أحاول ما يلي: poisInpolygon = "" SELECT col.vessel_hash، col.longitude، col.latitude من sampelcol as col، ST_Contains (ST_GeomFromEWKT ('POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.517512007، -16821797.94 47.6357836، -15.0292969 47.6357836)) ')، ST_GeomFromEWKT (col.the_geom)) من samplecol كـ col "" "ولكن تُرجع: (103079215291L ، عشري ('40 .87011000') ، عشري ('29 .20170000 ') ، خطأ). لماذا ترجع False؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 10:32

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

بينما يجب عليك بناء هندسة PostGIS من العرض التقديمي WKT للمضلع المرجعي الخاص بك ، فإن جدول "samplecol" الخاص بك يحتوي بالفعل على هندسة PostGIS و ST_GeomFromEWKT (col.the_geom) لا معنى له على الإطلاق. col.the_geom هو ما تحتاجه.

تحتاج إلى تعيين SRID لمغلف البحث الخاص بك على 4326 وتحتاج إلى تحويل تمثيل WKT إلى هندسة ، على سبيل المثال ، ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836. -15.0292969 47.6357836))) '). لأكون صادقًا ، أنا مندهش من أنك لا تحصل على خطأ على طول الخطوط التي لا توجد بها وظيفة ST_Contains (geom ، text) ، على الرغم من مقتطف الشفرة ، ربما لا يكون لديك معالج خطأ حول استدعاء الوظيفة.

& # 8211 & # 160 جون باول
3 يونيو 2018 الساعة 9:37

تحتاج إلى تعيين SRID لمغلف البحث الخاص بك على 4326 وتحتاج إلى تحويل تمثيل WKT إلى هندسة ، على سبيل المثال ، ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836. -15.0292969 47.6357836))) '). لأكون صادقًا ، أنا مندهش من أنك لا تحصل على خطأ على طول الخطوط التي لا توجد بها وظيفة ST_Contains (geom ، text) ، على الرغم من مقتطف الشفرة ، ربما لا يكون لديك معالج خطأ حول استدعاء الوظيفة.

& # 8211 & # 160 جون باول
3 يونيو 2018 الساعة 9:37

أنت تقصد شيئًا مثل: ST_Contains (samplecol.the_geom، (ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406) ؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 9:45

أنت تقصد شيئًا مثل: ST_Contains (samplecol.the_geom، (ST_GeomFromEWKT ('SRID = 4326' POLYGON ((- 15.0292969 47.6357836، -15.2050781 47.5172007، -16.2597656 29.3821751، 35.0683594 26.1159859، 38.0566406) ؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 9:45

هل يمكنك تقديم الاستعلام الكامل من فضلك؟ لا أستطيع معرفة ذلك. أحاول هذا: poisInpolygon = "" SELECT col.vessel_hash، col.longitude، col.latitude من sampelcol as col، ST_Contains (ST_GeomFromEWKT ('POLYGON (((- 15.0292969 47.6357836، -15.2050781 47.517512007، -1682179794.147.51751656 29.38217974 47.6357836، -15.0292969 47.6357836)) ')، ST_GeomFromEWKT (col.the_geom)) من samplecol كـ col "" "ولكن تُرجع: (103079215291L ، عشري ('40 .87011000') ، عشري ('29 .20170000 ') ، خطأ). لماذا ترجع False؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 10:32

هل يمكنك تقديم الاستعلام الكامل من فضلك؟ لا أستطيع معرفة ذلك. أحاول هذا: poisInpolygon = "" SELECT col.vessel_hash، col.longitude، col.latitude من sampelcol as col، ST_Contains (ST_GeomFromEWKT ('POLYGON (((- 15.0292969 47.6357836، -15.2050781 47.517512007، -1682179794.147.51751656 29.38217974 47.6357836، -15.0292969 47.6357836)) ')، ST_GeomFromEWKT (col.the_geom)) من samplecol كـ col "" "ولكن تُرجع: (103079215291L ، عشري ('40 .87011000') ، عشري ('29 .20170000 ') ، خطأ). لماذا ترجع False؟

& # 8211 & # 160 Telperinquar
3 يونيو 18 الساعة 10:32

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

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

بينما يجب عليك إنشاء هندسة PostGIS من عرض WKT للمضلع المرجعي الخاص بك ، فإن جدول "samplecol" الخاص بك يحتوي بالفعل على أشكال هندسية PostGIS و ST_GeomFromEWKT (col.the_geom) لا معنى له على الإطلاق. col.the_geom هو ما تحتاجه.

بينما يجب عليك إنشاء هندسة PostGIS من عرض WKT للمضلع المرجعي الخاص بك ، فإن جدول "samplecol" الخاص بك يحتوي بالفعل على أشكال هندسية PostGIS و ST_GeomFromEWKT (col.the_geom) لا معنى له على الإطلاق. col.the_geom هو ما تحتاجه.


يمكنك رسم خط من $ (2،1،3) $ إلى مركز الكرة $ (0،0،0) $ (0،0،0) $. يلتقي الخط مع الكرة عند نقطتين. أحدهما هو الحد الأدنى للمسافة والآخر هو أقصى مسافة. نظرًا لأن المسافة من $ (0،0،0) $ إلى أي نقطة 0n على الكرة هي $ 1 $ ، فإن أقصى مسافة هي

WLOG أي نقطة على الكرة $ ( cos u، sin u cos t، sin u sin t) $

$ D ^ 2 = ( cos u-2) ^ 2 + ( sin u cos t-1) ^ 2 + ( sin u sin t-3) ^ 2 $

$ 2 ^ 2 + 1 ^ 2 + 3 ^ 2 + cos ^ 2u + sin ^ 2u ( cos ^ 2t + sin ^ 2t) -4 cos u-2 sin u ( cos t + 3 sin t) $

$ = 2 ^ 2 + 1 ^ 2 + 3 ^ 2 + cos ^ 2u + sin ^ 2u-4 cos u-2 sin u ( cos t + 3 sin t) $

$ يشير إلى- sqrt <10> le cos t + 3 sin t le sqrt <10> $

$ implies-2 sqrt <10> | sin u | le-2 sin u ( cos t + 3 sin t) le2 sqrt <10> | sin u | $


التسميات محيرة وقد أظهرت الدراسات الحديثة أنه من بين البازلت في وسط المحيط (تسمى عمومًا MORBs) ، يجب أن يعكس البازلت العادي في وسط المحيط (NMORB) التركيب المعتاد إحصائيًا بينما يجب أن يعكس MORB المحسن (EMORB) و MORB المستنفد (DMORB) تعكس الأعضاء النهائيين من السكان MORB. جيل وآخرون. يقترح al 2013 استخدام مصطلح NMORB للإشارة إلى التركيبة البازلتية الأكثر احتمالاً التي تمت مواجهتها على طول نظام التلال العالمي البعيد عن النقاط الساخنة. يتم إعطاء NMORB من خلال المتوسط ​​اللوغاريتمي الطبيعي لتركيبات مقاطع التلال التي تبعد أكثر من 500 كم عن الأعمدة باستثناء الأقواس الخلفية. على عكس بعض المناقشات الأدبية ، لم يتم استنفاد NMORBs في العناصر النزرة وفقًا لعمل Gale ولذا يجب كسر الارتباط بين فكرة الاستنفاد و NMORBs.

اقترح جيل وآخرون مصطلح DMORB للتعرف على البازلت المستنفد للعناصر النزرة. لن يتم اعتبار DMORBs ممثلًا للوشاح العلوي أو قشرة المحيط ولن يتم العثور عليها بشكل شائع في أنظمة التلال. أخيرًا ، يشير EMORB إلى عنصر التتبع غير المتوافق المخصب NMORBS من خلال تعريف إحصائي موجود في Gale et. آل. يرجع هذا التعريف الإحصائي إلى حقيقة أن البيانات الحالية لا تسمح بربط مكاني واضح لـ EMORBs بأي شكل معين من التلال أو نظام عمود أو جزيرة تقع بالقرب من كليهما.

تقدم أيسلندا مثالًا جيدًا على نظام EMORB حيث تسبب معدل إنتاج الصهارة في بناء سلسلة من التلال المحيطية فوق مستوى سطح البحر. In this environment, the predominant basalts are also tholeiitic basalts, but there are higher concentrations of incompatible trace elements. EMORBs are enriched in incompatible trace elements such as K, Ba, La, Rb compared to NMORBs. By incompatible, one means elements that do not fit easily into the crystal structure of mineral elements in the mantle and are usually not found in upper mantle derived rocks because they are preferentially ejected into the melt.

Generally, all MORBs are tholeiitic basalts occurring in oceanic spreading centers, such as an ocean ridge away from hot spots and back-arc basins. At these spreading centers, a relatively small range of chemical compositions of basalts are erupted to form the basaltic layer of the oceanic crust. The main melting mechanism is likely decompression melting due to rising convection cells moving upward through the mantle beneath the ridges. The composition of these basalts typically ranges from olivine to quartz tholeiites. Tholeiitic magmas are sub-alkaline, meaning they contain less sodium and potassium than other basalts and can be distinguished from other basalts by the redox state of the magma from which they crystallized—- tholeiitic parent magmas are reduced whereas calc-alkaline parent magmas are oxidized. All three NMORBS, DMORBS, and EMORBS share common chemical compositions (ordered by decreasing wt%) of SiO2, Al2O3, MgO, FeO, CaO. They also share a common mineralogy of plagioclase, pyroxene and olivine. The plutonic equivalents to a tholeiitic basalt are diorite, gabbro, and anorthosite.

For the next section, this is a great reference!

Oceanic Island Basalts –basalts associated with islands in the ocean basins that generally occur away from plate boundaries, and are often associated with hot spots. Most oceanic islands appear to be related to ascending plumes of hot mantle which operate independent of the main convection cells that ascend beneath ocean ridges and descend at subduction zones. A wide variety of rocks occur in these islands, not all are basaltic, but all appear to be related to upper mantle melts. One may find tholeiites, alkaline basalts, Hawaiites, trachytes and rhyolites in an OIB environment which span the compositional spectrum of magnesium, iron and the alkaline elements. From a melting perspective, low pressure environments tend to produce the tholeiitic magmas and high pressures are required to derive alkali basalts. OIB mantle sources are enriched in incompatible elements and demonstrate a wider variety fractionization than MORBs. How does this occur? a recent theory for OIB sources posits that subducted lithosphere sinks to the core/mantle boundary and mixes with the mantle to produce an enriched mantle which heats and rises in narrow plumes which channel this enriched mantle melt upward producing hotspots which produce the compositional variety of OIBs observed.