Geo Clôture: comment trouver si un point ou une forme est à l'intérieur d'un polygone en utilisant l'espace oracle

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

Question

Comment puis-je trouver si un point ou un polygone est dans un autre polygone en utilisant requête SQL spatiale oracle

Voici le scénario;

I ai une table (STATE_TABLE) qui contient un type spatial (SDO_GEOMETRY) qui est un polygone (de dire un état), j'ai une autre table (UNIVERSITY_TABLE) qui contient des données spatiales (SDO_GEOMETRY) (point / polygone) qui contient universités;

Maintenant, comment puis-je trouver si une université choisie ( 's) sont dans un état donné en utilisant l'instruction select SQL.

Principalement je veux trouver l'existence de l'objet donné (s) dans un geofence.

Merci.

Était-ce utile?

La solution

Vous allez avoir besoin d'utiliser soit SDO_CONTAINS ou SDO_RELATE avec un masque de CONTAINS

S'il vous plaît voir la documentation situé à

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

ou

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

Soit un de ces vous feriez quelque chose comme ce qui suit (en supposant que votre information spatiale est contenue dans une colonne appelée « GEOM » qui est indexé dans l'espace):

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

Vous devez me pardonner comme je ne me souviens pas précisément la syntaxe correcte pour cela et je ne sais pas si ce qui précède rejoindre fonctionnera correctement du tout. Cela devrait être suffisant pour vous diriger dans la bonne direction bien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top