- カテゴリ:
ST_MAKELINE¶
入力オブジェクトのポイントを結ぶ線を表す GEOGRAPHY または GEOMETRY オブジェクトを構築します。
- こちらもご参照ください。
構文¶
ST_MAKELINE( <geography_expression_1> , <geography_expression_2> )
ST_MAKELINE( <geometry_expression_1> , <geometry_expression_2> )
引数¶
geography_expression_1
接続するポイントを含む GEOGRAPHY オブジェクト。このオブジェクトは、ポイント、 MultiPoint、または LineString である必要があります。
geography_expression_2
接続するポイントを含む GEOGRAPHY オブジェクト。このオブジェクトは、ポイント、 MultiPoint、または LineString である必要があります。
geometry_expression_1
接続するポイントを含む GEOMETRY オブジェクト。このオブジェクトは、ポイント、 MultiPoint、または LineString である必要があります。
geometry_expression_2
接続するポイントを含む GEOMETRY オブジェクト。このオブジェクトは、ポイント、 MultiPoint、または LineString である必要があります。
戻り値¶
この関数は、型 GEOGRAPHY または GEOMETRY の値を返します。値は、入力 GEOGRAPHY または GEOMETRY オブジェクトで指定されたすべてのポイントを接続する LineString です。
使用上の注意¶
入力 GEOGRAPHY オブジェクトに複数のポイントが含まれている場合、 ST_MAKELINE はオブジェクトで指定されたすべてのポイントを接続します。
ST_MAKELINE は、入力で指定された順序に従いポイントを接続します。
GEOMETRY オブジェクトの場合、2つの入力 GEOMETRY オブジェクトの SRIDs が異なると、関数はエラーを報告します。
GEOMETRY オブジェクトの場合、返された GEOMETRY オブジェクトは入力と同じ SRID を持ちます。
例¶
GEOGRAPHY 例¶
このセクションの例では、出力を WKT 形式で表示します。
alter session set GEOGRAPHY_OUTPUT_FORMAT='WKT';
次の例では、 ST_MAKELINE を使用して、2つのポイントを接続する LineString を作成します。
SELECT ST_MAKELINE( TO_GEOGRAPHY('POINT(37.0 45.0)'), TO_GEOGRAPHY('POINT(38.5 46.5)') ) AS line_between_two_points; +-----------------------------+ | LINE_BETWEEN_TWO_POINTS | |-----------------------------| | LINESTRING(37 45,38.5 46.5) | +-----------------------------+
次の例では、ポイントと MultiPoint のポイントを接続する LineString を作成します。
SELECT ST_MAKELINE( TO_GEOGRAPHY('POINT(-122.306067 37.55412)'), TO_GEOGRAPHY('MULTIPOINT((-122.32328 37.561801), (-122.325879 37.586852))') ) AS line_between_point_and_multipoint; +-----------------------------------------------------------------------------+ | LINE_BETWEEN_POINT_AND_MULTIPOINT | |-----------------------------------------------------------------------------| | LINESTRING(-122.306067 37.55412,-122.32328 37.561801,-122.325879 37.586852) | +-----------------------------------------------------------------------------+
例の出力で示されているように、 ST_MAKELINE は入力で指定された順序に従いポイントを接続します。
次の例では、 MultiPoint 内のポイントを別の LineString と接続する LineString を作成します。
SELECT ST_MAKELINE( TO_GEOGRAPHY('MULTIPOINT((-122.32328 37.561801), (-122.325879 37.586852))'), TO_GEOGRAPHY('LINESTRING(-122.306067 37.55412, -122.496691 37.495627)') ) AS line_between_multipoint_and_linestring; +---------------------------------------------------------------------------------------------------+ | LINE_BETWEEN_MULTIPOINT_AND_LINESTRING | |---------------------------------------------------------------------------------------------------| | LINESTRING(-122.32328 37.561801,-122.325879 37.586852,-122.306067 37.55412,-122.496691 37.495627) | +---------------------------------------------------------------------------------------------------+
GEOMETRY 例¶
このセクションの例では、出力を WKT 形式で表示します。
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
最初の例は、2つのポイント間に線を構築します。
SELECT ST_MAKELINE( TO_GEOMETRY('POINT(1.0 2.0)'), TO_GEOMETRY('POINT(3.5 4.5)')) AS line_between_two_points;+-------------------------+ | LINE_BETWEEN_TWO_POINTS | |-------------------------| | LINESTRING(1 2,3.5 4.5) | +-------------------------+
次の例は、ポイントで MultiPoint 内にあるポイントを接続する LineString の作成を示しています。
SELECT ST_MAKELINE( TO_GEOMETRY('POINT(1.0 2.0)'), TO_GEOMETRY('MULTIPOINT(3.5 4.5, 6.1 7.9)')) AS line_from_point_and_multipoint;+---------------------------------+ | LINE_FROM_POINT_AND_MULTIPOINT | |---------------------------------| | LINESTRING(1 2,3.5 4.5,6.1 7.9) | +---------------------------------+
次の例では、 MultiPoint 内のポイントを別の LineString と接続する LineString を作成します。
SELECT ST_MAKELINE( TO_GEOMETRY('LINESTRING(1.0 2.0, 10.1 5.5)'), TO_GEOMETRY('MULTIPOINT(3.5 4.5, 6.1 7.9)')) AS line_from_linestring_and_multipoint;+------------------------------------------+ | LINE_FROM_LINESTRING_AND_MULTIPOINT | |------------------------------------------| | LINESTRING(1 2,10.1 5.5,3.5 4.5,6.1 7.9) | +------------------------------------------+