Реализация алгоритма преобразования лучей в MySQL?

Нам нужно выяснить быстрый и довольно точный метод для точки в многоугольнике для значений широты и долготы и многоугольников на картах Google. После некоторого исследования - наткнулся на несколько сообщений о геометрических расширениях mysql и реализовал это тоже -

SELECT id, Contains( PolyFromText( 'POLYGON(".$polygonpath.")' ) , PointFromText( concat( \"POINT(\", latitude, \" \", longitude, \")\" ) ) ) AS
            CONTAINS
FROM tbl_points

Однако это не сработало с многоугольниками, состоящими из большого количества точек: (

После некоторых дополнительных исследований - наткнулся на стандартный алгоритм, называемый алгоритмом Ray-casting, но прежде чем пытаться разработать запрос для этого в MySQL, я хотел рискнуть, если кто-то уже прошел через это или наткнулся на полезную ссылку, которая показывает, как реализовать алгоритм в MySQL / SQL-сервере .

Итак, короче - вопрос:

Может ли кто-нибудь предоставить MySQL / SQL-сервер реализацию алгоритма преобразования лучей?

Дополнительная информация:

  • Многоугольники бывают вогнутыми, выпуклыми или сложными. .
  • Ориентация на быстрое выполнение с точностью более 100%.
13
задан Johan - reinstate Monica 3 October 2011 в 21:06
поделиться