お世話になります。
関数Polygon(ls1,ls2,...)を以下のように試してみましたが、以下のエラーが出てポリゴンを作れません。
MySQL ver5.7とver8.0の二つで試しましたが、結果は同じでした。
ちなみに、Polygon(ls1,ls2,...)の引数として渡したパラメータの型を確認しましたが、全て'LINESTRING'となっています。
何がいけないのか、教えてください。
Error Code: 1367. Illegal non geometric '(@`ls1`)' value found during
parsing
実行したスクリプト
SET
@ls1 = ST_LineFromText('linestring(4010 5009,4015 5005)'),
@ls2 = ST_LineFromText('linestring(4015 5005,4018 5010)'),
@ls3 = ST_LineFromText('linestring(4018 5010,4012 5010)'),
@ls4 = ST_LineFromText('linestring(4012 5010,4018 5013)'),
@ls5 = ST_LineFromText('linestring(4018 5013,3995 5013)'),
@ls6 = ST_LineFromText('linestring(3995 5013,3995 5000)'),
@ls7 = ST_LineFromText('linestring(3995 5000,4010 5009)');
select
ST_GeometryType(@ls1),ST_GeometryType(@ls2),ST_GeometryType(@ls3),ST_GeometryType(@ls4),ST_GeometryType(@ls5),ST_GeometryType(@ls6),ST_GeometryType(@ls7);
select ST_AsText(@ls1);
SET @npoly = POLYGON(@ls1,@ls2,@ls3,@ls4,@ls5,@ls6,@ls7);# ここでエラー
select @npoly,ST_GeometryType(@npoly),ST_AsText(@npoly);
実行環境:
OS:Windows 8.0 64ビット
MySQL:Ver.5.7.18-log
Workbench:Ver.6.3.9