MySQL функция геометрии, точки и многоугольники - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть имя таблицы 'polygon_csa', в которой два столбца 'element_id' представляют собой целое число, а 'poly' - четырехугольный многоугольник

Я пытаюсь найти, какие полигоны заключают точку по моему выбору , Я устал следующий код:

    Set @x = -60;
    Set @y = 10;

    set @xy=ST_geomfromtext(concat('Point (',@x, ' ', @y,')'));
    Select element_id from polygon_csa where ST_Contains(poly.polygons_csa,@xy);

Это возвращает ошибку 1054 «неизвестный столбец Poly.polygons_csa в где пункт». Я использую MySQL 5.7, это ошибка, или я неправильно понял синтаксис?

Я также попытался:

    set @xy=ST_geomfromtext(concat('Point (',@x, ' ', @y,')'));
    Select element_id from polygon_csa where (MRBContains(poly.polygons_csa,@xy));

это также возвращает ошибку 1054

1 Ответ

0 голосов
/ 18 февраля 2020

Функция MRBContains может возвращать только результат 1 или 0, поэтому она не подходит для этого приложения, для этого необходима процедура с оператором if.

...