Народ запутался с геометрическими объектами в mysql
К примеру
SELECT ST_Distance_Sphere(ST_GeomFromText('POINT(59.92221140264606 30.33592959805362 )'), ST_GeomFromText('POINT( 59.91757448179685 30.34996245507689 )')) as distance
Результат: 1622.5853896756541 метров что не корректно.
Если в каждой точке поменять местами координаты то: 936.7446267405903 метров и Это правильно!
Далее запрос определения входения точки в полигон:
SELECT ST_Within(ST_GeomFromText('POINT(59.92221140264606 30.33592959805362 )'), ST_GeomFromText('POLYGON((59.960439 30.155863,59.970939 30.183329,60.00551300831579 30.30108880468746,59.97782267102391 30.418505281249995,59.90478568802594 30.452150609374957,59.873384939513095 30.331301148437454,59.890813753470574 30.22040838085935,59.912545 30.191226,59.924611 30.157924,59.945285999999996 30.139728,59.960439 30.155863))')) as inner_point
Результат: точка входит в полигон
НО если в точке изменить порядок координат то точка уже не будет входить в полигон!!
В чем заключается проблема: проблема в порядке координат точек.
1. расстояние не точное - точка входит в полигон
2. расстояние точное - точка не входит в полигон.
Может кто подсказать как побороть эту проблемку?