Как узнать, существует ли точка в каком многоугольнике

Как найти, если точка в каком заданном наборе полигонов существует? У меня есть координаты, такие как

polygonA = 1(0,0),2(0,5),3(3,4),4(3,5),5( 2,2)
polygonB = 1(10,10),2(10,15),3(13,14),4(13,15),5(12,12)

У меня есть точка как (6,4), теперь я хочу найти, находится ли эта точка в каком-либо из этого многоугольника или в обоих, или ближайшем к какому многоугольнику.

Как хранить такие данные (многоугольник)? существует ли система/база данных/алгоритм для этого поиска?

Обновление: Спасибо всем за такой быстрый ответ... Думаю, мне нужно быть более конкретным...

Как искать = Да... есть список алгоритмови библиотекадля того же.

Как хранить = на основе моих исследований SQL и NoSQL db имеют свои решения. NoSQL = MongoDb кажется наиболее близким к тому, что мне нужно. Но проблема в том, что я могу запросить как "db.places.find({ "loc" : { "$within" : { "$polygon" : polygonB } } })" Но не могу сделать запрос как db.places.find({ " loc" : { "$ внутри" : { } } }) SQL проверил postgre и openGIS на предмет помощи. Но не могу понять, возможно ли это.

Если кто-то может помочь мне с этим... Заранее спасибо.

5
задан Jigar Shah 28 May 2012 в 19:15
поделиться