Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Dapatkan titik tengah polyline SDO.GEOMETRY

Oracle Spatial memiliki referensi linier paket bernama SDO_LRS . Ini dapat digunakan untuk menemukan koordinat titik tengah sebuah polyline.

--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

Untuk poin bonus:

Beginilah cara ESRI SDE.ST_GEOMETRY dapat dikonversi ke SDO_GEOMETRY untuk tujuan mendapatkan koordinat titik tengah:

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)

Jawaban ini terinspirasi oleh jawaban di Review Kode:Hitung titik tengah polyline .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tentukan ukuran hasil SQL yang diatur dalam KB

  2. Cara menggunakan perintah spool di sql developer oracle

  3. SQL Query untuk mendapatkan jumlah kata dalam tabel

  4. Bagaimana cara memformat hanya catatan yang ORA-01843 tidak dibuang?

  5. Pengaturan SQLPlus untuk menghasilkan file data yang dipisahkan tab