sql >> データベース >  >> RDS >> Oracle

SDO.GEOMETRYポリラインの中点を取得します

    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) 

    この回答は、コードレビューの回答に触発されました:ポリラインの中点を計算する



    1. sqlalchemyとpyodbcを使用してSQLServer2012に接続する

    2. Djangoを使用して既存のMyISAMデータベースをInnoDBに変換する

    3. MySQLは外部キー制約を作成できません

    4. 1つの余分なレコードを返すクエリ。クエリ結果から削除する方法について何かアドバイスはありますか?