Недопустимые данные ГИС, предоставленные функции st_geometryfromtext в MBR, содержат LineFromText - PullRequest
0 голосов
/ 29 июня 2018

У нас есть таблица областей со столбцом с именем 'position', в которой хранятся значения широты и долготы этой области. Столбец 'position' имеет тип mysql 'POINT'.

Я прочитал инструкции от здесь и следовал тому же, но я получаю ошибку при следующем запросе:

SELECT  *
FROM    areas
WHERE   MBRContains(LineFromText(CONCAT(
    '('
    , 72.836898 + 10 / ( 111.1 / cos(RADIANS(72.836898)))
    , ' '
    , 18.935255 + 10 / 111.1
    , ','
    , 72.836898 - 10 / ( 111.1 / cos(RADIANS(18.935255)))
    , ' '
    , 18.935255 - 10 / 111.1 
    , ')' ))
    ,position);

Я получаю код ошибки: 3037. Недопустимые данные ГИС предоставлены функции st_geometryfromtext.

1 Ответ

0 голосов
/ 20 августа 2018

Для вашей версии MySQL вы должны использовать это:

SELECT  *
FROM    areas
WHERE   MBRContains
        (
        LineString
                (
                Point (
                        18.935255 + 10 / ( 111.320 / COS(RADIANS(72.836898))),
                        72.836898 + 10 / 111.133
                ),
                Point (
                        18.935255 - 10 / ( 111.320 / COS(RADIANS(72.836898))),
                        72.836898 - 10 / 111.133
                ) 
        ),
    ,position);
...