Geo Fence: cómo encontrar si un punto o una forma es dentro de un polígono utilizando Oracle Spatial

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

Pregunta

¿Cómo puedo encontrar si un punto o un polígono está dentro de otro polígono utilizando Oracle Spatial consulta SQL

Aquí está el panorama;

Tengo una tabla (STATE_TABLE) que contiene un tipo espacial (SDO_GEOMETRY), que es un polígono (de, digamos, un Estado), no tengo otra tabla (UNIVERSITY_TABLE) que contiene datos espaciales (SDO_GEOMETRY) (Punto / polígono), que contiene Universidades;

Ahora ¿cómo puedo encontrar si una universidad seleccionada ( 's) están en un estado determinado, utilizando SQL instrucción de selección.

En primer lugar quiero localizar existencia de objeto (s) dada en una barrera geográfica.

Gracias.

¿Fue útil?

Solución

Vamos a necesitar usar cualquiera SDO_CONTAINS o SDO_RELATE con una máscara de 'contiene'

Por favor, consulte la documentación se encuentra en

SDO_CONTAINS http://download.oracle.com/docs /cd/E11882_01/appdev.112/e11830/sdo_operat.htm#sthref1064 para

o

SDO_RELATE http://download.oracle.com/docs /cd/E11882_01/appdev.112/e11830/sdo_operat.htm#i78531

Cualquiera de éstos que haría algo como lo siguiente (suponiendo que su información espacial está contenida en una columna llamada 'GEOM' que está indexado espacialmente):

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

Vas a tener que perdonarme, ya que no recuerdo específicamente la sintaxis correcta para esto y no sé si lo anterior se unen funcionará correctamente en absoluto. Esto debería ser suficiente para señalarle en la dirección correcta, aunque.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top