ST_LocateBetweenElevations — 指定したZ値の範囲内にある要素からなる、派生ジオメトリ(コレクション)値を返します。3次元、4次元のLINESTRINGSとMULTILINESTRINGSのみをサポートします。
geometry ST_LocateBetweenElevations(
geometry geom_mline, float elevation_start, float elevation_end)
;
指定したZ値の範囲内にある要素からなる、派生ジオメトリ(コレクション)値を返します。3次元、4次元のLINESTRINGSとMULTILINESTRINGSのみをサポートします。
初出: 1.4.0
この関数は3次元に対応しています。Zインデクスを削除しません。
SELECT ST_AsEWKT(ST_LocateBetweenElevations( ST_GeomFromEWKT('LINESTRING(1 2 3, 4 5 6)'),2,4)) As ewelev; ewelev ---------------------------------------------------------------- MULTILINESTRING((1 2 3,2 3 4)) SELECT ST_AsEWKT(ST_LocateBetweenElevations( ST_GeomFromEWKT('LINESTRING(1 2 6, 4 5 -1, 7 8 9)'),6,9)) As ewelev; ewelev ---------------------------------------------------------------- GEOMETRYCOLLECTION(POINT(1 2 6),LINESTRING(6.1 7.1 6,7 8 9)) -- ジオメトリコレクションは難しいものですので、 -- 簡略化するためにダンプしています。 SELECT ST_AsEWKT((ST_Dump(the_geom)).geom) FROM (SELECT ST_LocateBetweenElevations( ST_GeomFromEWKT('LINESTRING(1 2 6, 4 5 -1, 7 8 9)'),6,9) As the_geom) As foo; st_asewkt -------------------------------- POINT(1 2 6) LINESTRING(6.1 7.1 6,7 8 9)