MariaDBのLineFromText関数:WKT表記からLineStringオブジェクトを作成する方法
WKT 表記は、空間データを表すための標準的なテキスト形式です。 LineFromText 関数は、WKT 文字列を解釈し、対応する LineString オブジェクトを返します。
LineFromText 関数の構文
ST_LineFromText(wkt_text)
引数
wkt_text
: WKT 表記の文字列
戻り値
- LineString オブジェクト
例
SELECT ST_LineFromText('LINESTRING(1 2, 3 4, 5 6)');
このクエリは、次の LineString オブジェクトを返します。
LINESTRING(1 2, 3 4, 5 6)
LineFromText 関数の使用例
- 空間データの可視化を行う
- 空間データの分析を実行する
- 地図上の道路や境界線などの線形フィーチャーを作成する
- LineFromText 関数は、空の文字列または無効な WKT 文字列を受け取ると、エラーを返します。
- WKT 文字列が正しくフォーマットされていることを確認する必要があります。
- LineFromText 関数は、MariaDB 10.0.0 以降で使用できます。
- LineFromText 関数は、ST_LineStringFromText 関数の別名です。
SELECT ST_LineFromText('LINESTRING(1 2, 3 4, 5 6)');
LINESTRING(1 2, 3 4, 5 6)
例 2: LineString オブジェクトを使用して地図上に線を表示する
CREATE TABLE lines (
id INT PRIMARY KEY AUTO_INCREMENT,
line_string LINESTRING
);
INSERT INTO lines (line_string)
VALUES (ST_LineFromText('LINESTRING(1 2, 3 4, 5 6)'));
SELECT ST_AsText(line_string) AS line_text
FROM lines;
このクエリは、次の出力を生成します。
LINESTRING(1 2, 3 4, 5 6)
例 3: LineString オブジェクトを使用して空間データの分析を実行する
CREATE TABLE lines (
id INT PRIMARY KEY AUTO_INCREMENT,
line_string LINESTRING
);
INSERT INTO lines (line_string)
VALUES (ST_LineFromText('LINESTRING(1 2, 3 4, 5 6)'));
SELECT ST_Length(line_string) AS line_length
FROM lines;
7.280000000000000
CREATE TABLE lines (
id INT PRIMARY KEY AUTO_INCREMENT,
line_string LINESTRING
);
INSERT INTO lines (line_string)
VALUES (ST_LineFromText('LINESTRING(1 2, 3 4, 5 6)'));
SELECT ST_AsText(line_string) AS line_text
FROM lines;
CREATE TABLE points (
id INT PRIMARY KEY AUTO_INCREMENT,
point POINT
);
INSERT INTO points (point)
VALUES (ST_PointFromText('POINT(1 2)'));
SELECT *
FROM lines, points;
LINESTRING(1 2, 3 4, 5 6)
POINT(1 2)
ST_GeomFromText 関数を使用する
ST_GeomFromText 関数 は、WKT 表記の文字列から Geometry オブジェクトを生成するために使用されます。 Geometry オブジェクトは、ポイント、ライン、ポリゴンなどの空間データを表すことができます。
LineFromText 関数の代わりに ST_GeomFromText 関数を使用するには、次のようにします。
SELECT ST_AsText(ST_GeomFromText('LINESTRING(1 2, 3 4, 5 6)')) AS line_text;
LINESTRING(1 2, 3 4, 5 6)
ST_GeomFromWKB 関数を使用する
ST_GeomFromWKB 関数 は、Well-Known Binary (WKB) 表記のバイナリデータから Geometry オブジェクトを生成するために使用されます。 WKB 表記は、空間データをバイナリ形式で表すための標準的な形式です。
LineFromText 関数の代わりに ST_GeomFromWKB 関数を使用するには、次のようにします。
SELECT ST_AsText(ST_GeomFromWKB(0x14000000000200000005000000010000000200000003000000040000000500000006000000)) AS line_text;
LINESTRING(1 2, 3 4, 5 6)
ST_PointFromText 関数と ST_MakeLine 関数を使用する
ST_PointFromText 関数 は、WKT 表記の文字列から Point オブジェクトを生成するために使用されます。 Point オブジェクトは、単一の点を表します。
ST_MakeLine 関数 は、Point オブジェクトのリストから LineString オブジェクトを生成するために使用されます。
LineFromText 関数の代わりに ST_PointFromText 関数と ST_MakeLine 関数を使用するには、次のようにします。
SELECT ST_AsText(ST_MakeLine(
ST_PointFromText('POINT(1 2)'),
ST_PointFromText('POINT(3 4)'),
ST_PointFromText('POINT(5 6)')
)) AS line_text;
LINESTRING(1 2, 3 4, 5 6)