Geo Recinzione: come trovare se un punto o una forma è all'interno di un poligono utilizzando Oracle Spatial

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

Domanda

Come faccio a trovare se un punto o un poligono è all'interno di un altro poligono utilizzando Oracle Spatial query SQL

Ecco lo scenario;

Ho una tabella (STATE_TABLE), che contiene un tipo spaziale (SDO_GEOMETRY) che è un poligono (di dire Stato), ho un altro tavolo (UNIVERSITY_TABLE) che contiene dati spaziali (SDO_GEOMETRY) (punto / poligono) quali contiene le università;

Ora come faccio a trovare se un'Università selezionato ( 's) sono in un determinato Stato utilizzando SQL SELECT.

In primo luogo voglio individuare l'esistenza di dato oggetto (s) in un geofence.

Grazie.

È stato utile?

Soluzione

Si sta andando ad avere bisogno di utilizzare SDO_CONTAINS o SDO_RELATE con una maschera di 'contiene'

Si prega di consultare la documentazione si trova a

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

o

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

Uno di questi si farebbe qualcosa di simile alla seguente (supponendo che l'informazioni spaziali è contenuto in una colonna chiamata 'GEOM' che è spazialmente indicizzato):

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

Dovrai perdonare me come io non mi ricordo in particolare la sintassi corretta per questo e non so se quanto sopra si uniscono funzionerà correttamente a tutti. Questo dovrebbe essere sufficiente per puntare nella direzione giusta però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top