定義
ST_M は、ST_Point を入力パラメーターとして、そのメジャー (M) 座標を返します。
SQLite では、ST_M はメジャー値の更新にも使用できます。
構文
Oracle および PostgreSQL
sde.st_m (point1 sde.st_point)
SQLite
st_m (point1 geometryblob) st_m (point1 geometryblob, new_Mvalue double)
戻り値のタイプ
Oracle および PostgreSQL
Number
SQLite
メジャー値を検索している場合は Double precision。メジャー値を更新している場合は geometryblob。
例
Oracle
m_test テーブルを作成し、3 つのポイントを挿入します。3 つのポイントすべてに、メジャー値が含まれています。ST_M 関数を使用して SELECT ステートメントを実行すると、各ポイントのメジャー値が返されます。
CREATE TABLE m_test (
id integer,
geometry sde.st_point);
INSERT INTO M_TEST VALUES (
1,
sde.st_point (2, 3, 32, 5, 4322)
);
INSERT INTO M_TEST VALUES (
2,
sde.st_point (4, 5, 20, 4, 4326)
);
INSERT INTO M_TEST VALUES (
3,
sde.st_point (3, 8, 23, 7, 4326)
);
SELECT id, sde.st_m (geometry) M_COORD
FROM M_TEST;
ID M_COORD
1 5
2 4
3 7
PostgreSQL
m_test テーブルを作成し、3 つのポイントを挿入します。3 つのポイントすべてに、メジャー値が含まれています。ST_M 関数を使用して SELECT ステートメントを実行すると、各ポイントのメジャー値が返されます。
CREATE TABLE m_test (
id serial,
geometry sde.st_point
);
INSERT INTO m_test (geometry) VALUES (
sde.st_point (2, 3, 32, 5, 4326)
);
INSERT INTO m_test (geometry) VALUES (
sde.st_point (4, 5, 20, 4, 4326)
);
INSERT INTO m_test (geometry) VALUES (
sde.st_point (3, 8, 23, 7, 4326)
);
SELECT id, sde.st_m (geometry)
AS M_COORD
FROM m_test;
id m_coord
1 5
2 4
3 7
SQLite
最初の例では、m_test テーブルを作成し、3 つのポイントを挿入します。3 つのポイントすべてに、メジャー値が含まれています。ST_M 関数を使用して SELECT ステートメントを実行すると、各ポイントのメジャー値が返されます。
CREATE TABLE m_test (
id integer primary key autoincrement not null
);
SELECT AddGeometryColumn (
NULL,
'm_test',
'geometry',
4326,
'pointzm',
'xyzm',
'null'
);
INSERT INTO m_test (geometry) VALUES (
st_point (2, 3, 32, 5, 4326)
);
INSERT INTO m_test (geometry) VALUES (
st_point (4, 5, 20, 4, 4326)
);
INSERT INTO m_test (geometry) VALUES (
st_point (3, 8, 23, 7, 4326)
);
SELECT id, st_m (geometry)
AS M_COORD
FROM m_test;
id m_coord
1 5.0
2 4.0
3 7.0
2 つ目の例では、m_test テーブル内にあるレコード 3 のメジャー値を更新します。
SELECT st_m (geometry, 7.5)
FROM m_test
WHERE id = 3;