ST_PointN — ST_LineStringまたはST_CircularStringの中にあるN番目のポイントを返します.ジオメトリにラインストリングが無い場合NULLを返します.
geometry ST_PointN(
geometry a_linestring, integer n)
;
ST_LineStringまたはST_CircularStringの中にあるN番目のポイントを返します.ジオメトリにラインストリングが無い場合NULLを返します.
![]() | |
0.8.0版からOGC仕様にあわせて1はじまりにしています.これより前の版は0はじまりです. |
![]() | |
マルチラインストリング内のそれぞれのラインストリングからN番目のポイントを取得したい場合はST_Dumpと結合します. |
このメソッドは OpenGIS Simple Features Implementation Specification for SQL 1.1.を実装するものです.
このメソッドはSQL/MM仕様の実装です. SQL-MM 3: 7.2.5, 7.3.5
この関数は三次元をサポートします.Zインデクスを削除しません.
このメソッドは曲線ストリングと曲線をサポートします.
-- ラインストリングから全てのポイントを抽出 SELECT ST_AsText( ST_PointN( column1, generate_series(1, ST_NPoints(column1)) )) FROM ( VALUES ('LINESTRING(0 0, 1 1, 2 2)'::geometry) ) AS foo; st_astext ------------ POINT(0 0) POINT(1 1) POINT(2 2) (3 rows) --曲線ストリングでの例 SELECT ST_AsText(ST_PointN(ST_GeomFromText('CIRCULARSTRING(1 2, 3 2, 1 2)'),2)); st_astext ---------- POINT(3 2)