Как получить координату X для SDO GEOMETRY - PullRequest
0 голосов
/ 28 мая 2020

Совершенно новый для oracle, и я очень расстраиваюсь. У меня есть точка

 # yields SDO_GEOMETRY type, which contains an SDO_POINT
 select point from tbl 

  # yields a vertex_set_tye
 select SDO_UTIL.GETVERTICES(point) from tbl

Мой вопрос: как мне на самом деле извлечь значение X после: SDO_UTIL.GETVERTICES (point)?

Спасибо

1 Ответ

0 голосов
/ 28 мая 2020

Это моя таблица и ее содержимое; столбец GEOM равен SDO_GEOMETRY.

SQL> desc test
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                        NOT NULL NUMBER
 GEOM                                               MDSYS.SDO_GEOMETRY

SQL> select id, geom from test where rownum = 1;

        ID GEOM(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
---------- ------------------------------------------------------------------------------------------
   1062937 SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(16,9176067, 46,2172763, NULL), NULL, NULL)

SQL>

Извлечь координаты X и Y довольно просто:

SQL> select a.x,
  2         a.y
  3  from test t cross join table(sdo_util.getvertices(t.geom)) a
  4  where t.id = 1062937;

         X          Y
---------- ----------
16,9176067 46,2172763

SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...