Oracle
 sql >> база данни >  >> RDS >> Oracle

Вземете средна точка на полилиния SDO.GEOMETRY

Oracle Spatial има линейно препращане пакет, наречен SDO_LRS . Може да се използва за намиране на координатите на средната точка на полилиния.

--In this case, 'sdo' is the name of the sdo_geometry column.

sdo_lrs.convert_to_std_geom(sdo_lrs.locate_pt(sdo_lrs.convert_to_lrs_geom(sdo,3)
    ,sdo_geom.sdo_length(sdo,3)/2)).sdo_point.x as midpoint_x,

sdo_lrs.convert_to_std_geom(sdo_lrs.locate_pt(sdo_lrs.convert_to_lrs_geom(sdo,3)
    ,sdo_geom.sdo_length(sdo,3)/2)).sdo_point.y as midpoint_y

За бонус точки:

Ето как SDE.ST_GEOMETRY може да се преобразува в SDO_GEOMETRY с цел получаване на координатите на средната точка:

select
    sdo_lrs.convert_to_std_geom(sdo_lrs.locate_pt(sdo_lrs.convert_to_lrs_geom(sdo,3),sdo_geom.sdo_length(sdo,3)/2)).sdo_point.x as midpoint_x,
    sdo_lrs.convert_to_std_geom(sdo_lrs.locate_pt(sdo_lrs.convert_to_lrs_geom(sdo,3),sdo_geom.sdo_length(sdo,3)/2)).sdo_point.y as midpoint_y
from
    (select
        sdo_util.from_wktgeometry(sde.st_astext(shape)) as sdo
    from
        roads)

Този отговор е вдъхновен от отговор на Code Review:Изчисляване на средната точка на полилиния .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Конфигуриране на слушател в Oracle Database (издания 12c, 18c и 19c)

  2. Преживяване на одит на Oracle

  3. Oracle конвертира RAW във формат за дата

  4. SQLException:ORA-06550 при извикване на PL/SQL функция от Java

  5. Получаване на стойности, свързани с максималните и минималните редове в Oracle