私はPostgreSQL8.4+PostGISを持っています。
1つの列に線ストリングジオメトリのテーブルがあります。このラインストリングのポイントが1つあり、次のポイントを取得したいと思います。このために、関数ST_NPointsとST_PointNを使用したいと思います。これを使用するには、すべてのポイントを並べ替えて自分のポイントを見つける必要があります。この後、次のポイントが必要なものであることがわかります。
これは私のテーブルです:
-- Table: filedata
-- DROP TABLE filedata;
CREATE TABLE filedata
(
num serial NOT NULL,
id integer,
mydata character(25),
the_geom geometry,
CONSTRAINT filedata_pkey PRIMARY KEY (num)
)
WITH (
OIDS=FALSE
);
ALTER TABLE filedata OWNER TO postgres;
そして例のlinestring:
"LINESTRING(60.7014631515719 56.8441322356241,60.7023117507097 56.8445673405349,60.702948200063 56.8447993944193,60.703902874093 56.8448574076656,60.706236521722 56.8447993944193,60.7094187684889 56.8449444273664,60.7121236782406 56.8450894597515,60.715571112238 56.8452925041466,60.718382096882 56.8454085290207,60.7204505572805 56.8453505166286,60.7222538304482 56.8450314468649,60.7246405155233 56.8444513130533,60.7260194891224 56.8440742212539,60.7260194891224 56.8440742212539,60.7260194891224 56.8440742212539,60.7260194891224 56.844045214035)"