我对多字形字段的理解是 - 一个字段,可以保存单个单元格中多个多边形的信息。
我的表结构是 -
CREATE TABLE `test_table` (
`key` int(11) NOT NULL AUTO_INCREMENT,
`selected_polygon` multipolygon DEFAULT NULL,
PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
我正在尝试将以下数据插入多字段字段 -
SET @g ='MULTIPOLYGON(((45.55215127678357 -122.65701296506451,
45.52329405876074 -122.63572695432232,
45.52473727138698 -122.56156923947856,
45.54397656857749- 122.56088259397076,
45.559363267325914 -122.60345461545514,
45.56224780438123 -122.65220644650982,
45.55215127678357 -122.65701296506451)))';
INSERT INTO test_table(selected_polygon) VALUES (GeomFromText(@g));
每次我尝试执行上述语句时都会出现以下错误 -
错误代码:3037。提供给功能的GIS数据无效 st_geometryfromtext。
答案 0 :(得分:2)
当您查看数据时,会发现一个很难发现的细微错误。
SET @g ='MULTIPOLYGON(((45.55215127678357 -122.65701296506451,
45.52329405876074 -122.63572695432232,
45.52473727138698 -122.56156923947856,
45.54397656857749 -122.56088259397076,
45.559363267325914 -122.60345461545514, /* this line had - in wrong place */
45.56224780438123 -122.65220644650982,
45.55215127678357 -122.65701296506451)))';
请使用以上内容。