السياج الجغرافي: كيفية العثور على ما إذا كانت نقطة أو شكل داخل مضلع باستخدام Oracle Spatial

StackOverflow https://stackoverflow.com/questions/4601202

سؤال

كيف أجد ما إذا كانت نقطة أو مضلع داخل مضلع آخر باستخدام استعلام Oracle Spatial SQL

ها هو السيناريو.

لدي جدول (state_table) يحتوي على نوع مكاني (SDO_Geometry) وهو مضلع (قول حالة) ، لدي جدول آخر (University_Table) يحتوي على بيانات مكانية (SDO_Geometry) (نقطة/مضلع) تحتوي على جامعات ؛

الآن كيف أجد ما إذا كانت جامعة (الجامعة) المحددة في حالة معينة باستخدام عبارة SQL Select.

في المقام الأول ، أريد تحديد موقع وجود كائنات (كائنات) محددة في الجغرافية.

شكرًا.

هل كانت مفيدة؟

المحلول

ستحتاج إلى استخدام إما sdo_contains أو sdo_relate مع قناع "يحتوي على"

يرجى الاطلاع على الوثائق الموجودة في

sdo_containshttp://download.oracle.com/docs/cd/e11882_01/appdev.112/e11830/sdo_operat.htm#sthref1064 ل

أو

SDO_RELATEhttp://download.oracle.com/docs/cd/e11882_01/appdev.112/e11830/sdo_operat.htm#i78531

أي من هذه الأشياء التي ستفعل شيئًا مثل ما يلي (على افتراض أن معلوماتك المكانية موجودة في عمود يسمى "Geom" مفهرس مكانيًا):

select 
    ST.NAME, UT.UNIVERSITY_NAME
from
    STATE_TABLE ST
    INNER JOIN UNIVERSITY_TABLE UT
      ON SDO_CONTAINS(ST.GEOM, UT.GEOM) = 'TRUE'

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top