2017-02-04 13 views
0

У меня есть имя таблицы как T. Предположим, У меня есть широта, долгота всех четырех углов прямоугольника. Как я могу найти, какой сайт или записи находится в прямоугольнике?Найти сайт лежит в прямоугольнике, когда у нас есть широта и долгота всех углов в оракуле

Предположим, что мы внизу слева, длина прямоугольника:

Широта: -22.17,21.17,20.17,22.17
Долгота: -71.45,72.45,76.50,76.40

сейчас используя SDO_UTIL. GETNUMVERTICES (t. SHAPE), как я могу найти, какой сайт или запись лежит в этом прямоугольнике?

ответ

0

Чтобы сделать это, вы не можете использовать SDO_UTIL.GETNUMVERTICES, потому что это дает вам количество вершин в одной форме и ничего больше.

Можно, однако, построить SDO_GEOMETRY с ординатами, как так:

sdo_geometry(
    2003 -- geometry type 2D polygon 
, NULL -- or the relevant SRID corresponding to your data 
, NULL 
, sdo_elem_info_array(1, 1003, 1) 
, sdo_ordinate_array(x, y, x, y, x, y, x, y, x, y) -- fill in ordinates here 
) 

Вы можете использовать эту геометрию как окно запроса, то есть с SDO_INSIDE или SDO_UTILS.RELATE найти формы, которые находятся внутри этого многоугольника ,