Функция на PHP для определения попадания точки в многоугольник

Shasoft

Новичок
Функция на PHP для определения попадания точки в многоугольник

Проект, связанный с Google Map Api.

Ищется функция на PHP для определения попадания точки в многоугольник.
+ функция пересечение ломанных линий (просто линий)

Также ищется функция для преобразования объекта JS в формате JSON в ассоциативный массив PHP.

-~{}~ 03.02.09 09:43:

P.S. Ищутся имено готовые функции, а не алгоритмы, так как алгоритмы уже есть в наличии.
 

Wicked

Новичок
никто и не говорит, что они там есть или должны быть.

а что за алгоритмы есть в наличии, хотя бы в двух словах?
 

Shasoft

Новичок
zerkms
>в чём проблема реализовать?
Не в чем. Но прежде чем реализовывать, хочу поискать уже готовое.

Glazyrin Sergey
Про стандартные функции PHP понятно, что нет. Надежда на то, что кто-то где-то видел такие функции. В инете много сайтов с исходниками. Искать их самому долго и муторно. Поэтому и спрашиваю у общественности. Может кто-то из многочисленных форумчам только вчера такую функцию в руках держал и может подсказать направление поиска.
 

Wicked

Новичок
если делается через триангуляцию, то подзадачу "принадлежит ли точка треугольнику" я в свое время решил через построение аффинного преобразования, которое переводит треугольник в ((0,0), (0,1), (1,0)). Затем это отображение применяется к проверяемой точке, и для отображённой точки проверяются условия: x >= 0 && y >= 0 && x + y <= 1.
Все это делалось с помошью PEAR'овских классов Math_Matrix и Math_Vector.

-~{}~ 03.02.09 13:13:

ЗЫ: было это 3 года назад
ЗЫЫ: код дать не могу
 

Shasoft

Новичок
Wicked
Есть алгоритм определения попадания точки в многоугольник. Точнее он есть ГДЕ-ТО у меня в архиве, так как несколько лет назад реализовал это на Си.
В этом форуме про алгоритмы не спрашиваю, так как это не по теме, но при необходимости можно, если не найду у себя в архиве, то поисковик есть под рукой.
 

SiMM

Новичок
> Но прежде чем реализовывать, хочу поискать уже готовое.
Ну так ищите - интересно, почему это должны делать за Вас?
 

Shasoft

Новичок
SiMM
Я не предлагаю всем участникам форума кидаться искать нужные мне функции. А спрашиваю с надеждой, что кто-то УЖЕ ЗНАЕТ где эти функции можно найти.
Если вы не знаете, то буду сам искать/писать.
 

tashkentchi

Новичок
Shasoft, я такие задачи решаю средствами PostGIS, в котором и хранятся мои геоданные. Например так:

[sql]SELECT id FROM districts WHERE ST_Contains(the_geom, ST_GeomFromText(?, 4326));[/sql]

где ? = 'POINT(x y)', а 4326 - код используемой проекции
 

Shasoft

Новичок
tashkentchi
Спасибо за наводку. Полезу посмотрю, что это и как работает.

-~{}~ 03.02.09 11:09:

Как понял по инструкции по установке, нужен доступ к серверу, чтобы поставить нужные компоненты, что вряд ли мне хостер разрешит.
Но хоть почитаю для общего образования, может пригодится.
 
Сверху