У меня проблема с пространственными функциями mySQL.Моя цель - узнать, проходит ли объект LINESTRING через объект POLYGON или нет.Чтобы определить, что я пытался поэкспериментировать с двумя объектами LINESTRING, чтобы определить, пересекаются они или нет.
SET @ls='LINESTRING (0 0, 1 1, 2 2, 3 3)'; -- original linestring
SET @lp='LINESTRING (0 1, 1 2, 2 3, 3 4)'; -- parallel linestring
SET @lx='LINESTRING (0 3, 1 2, 2 1, 3 0)'; -- crossed linestring
Я пробовал несколько функций, чтобы достичь своей цели:
SELECT crosses(GeomFromText(@ls), GeomFromText(@lx)); -- crossing linestrings
returns 0;
SELECT intersects(GeomFromText(@ls), GeomFromText(@lp)); -- parallel linestrings
returns 1;
SELECT overlaps(GeomFromText(@ls), GeomFromText(@lp)); -- parallel linestrings
returns 1;
Я понимаю, что это вопрос сравнения границ или что-то еще, но есть ли способ (или функцияили простое решение) как достичь своей цели?Другая возможность состояла бы в том, чтобы проверить, находится ли POINT в LINESTRING в пределах POLYGON, но мне было интересно, есть ли другой способ сделать это?
решение, предоставленное в пересечении MySQL Great Circle (пересекаются две дороги?) мне, к сожалению, не помогает ..