Хорошо, у меня есть достаточно сложный запрос, который проверяет, содержит ли точечная переменная, содержащая набор координат широты + долготы (который я заменил -41.000000
& 174.000000
для удобства чтения) содержится в многоугольнике, который создан из моего table squares
(который содержит 2.25m строк координат, представляющих верхний левый угол квадрата, который затем экстраполирую, добавляя 0.5/60
к каждой координате, чтобы создать квадрат). Он проверяет, есть ли соответствие, используя функцию MySQL MBRContains
. Единственная проблема в том, что не работает на всех, и я просто получаю сообщение:Запрос пространственного отношения MySQL, возвращающий пустой набор результатов?
MySQL returned an empty result set (i.e. zero rows).
Вот запрос:
SELECT `square_id` FROM `squares` WHERE
MBRContains(
GeomFromText(
CONCAT(
'POLYGON((',
`coord_lat`,' ',`coord_long`,',',
`coord_lat`,' ',(`coord_long` + (0.5/60)),',',
(`coord_lat` + (0.5/60)),' ',(`coord_long` + (0.5/60)),',',
(`coord_lat` + (0.5/60)),' ',`coord_long`,
'))'
)
),
GeomFromText('POINT(-41.000000 174.000000)')
)
Любая идея, почему это? Там определенно есть квадрат, который содержит координаты внутри моего точечного объекта, и я не вижу явных ошибок в синтаксисе SQL. Мысли?
Можете ли вы предоставить Lat/LNG – lreeder