Oracle Spatialには、線形参照 があります。 SDO_LRS というパッケージ 。ポリラインの中点座標を見つけるために使用できます。
-この場合、「sdo」はsdo_geometry列の名前です。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
ボーナスポイントの場合:
これが、ESRIの 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__ (sdo_lrs.convert_to_lrs_geom(sdo、3)、sdo_geom.sdo_length(sdo、3)/ 2))。sdo_point.y as midpoint_yfrom(select sdo_util.from_wktgeometry(sde.st_astext(shape))as sdo from roads)
この回答は、コードレビューの回答に触発されました:ポリラインの中点を計算する 。