Ошибка при вставке значений в поле многополигонального типа данных MySQL

Насколько я понимаю, мультиполигональное поле - это поле, которое может содержать информацию о нескольких многоугольниках в одной ячейке.

Моя структура таблицы -

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. Недействительные данные ГИС предоставлены функции st_geometryfromtext.


person codejunkie    schedule 24.09.2016    source источник


Ответы (1)


Когда вы смотрите на свои данные, вы обнаруживаете незаметную ошибку, которую трудно обнаружить.

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)))';

Пожалуйста, используйте вышеуказанное.

person e4c5    schedule 27.09.2016
comment
@UmairHamid, пожалуйста, задайте свой вопрос - person e4c5; 13.07.2018