Как найти, существует ли точка, в которой задано множество полигонов? У меня есть координаты, какКак найти, существует ли точка, в которой многоугольник
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) теперь хотят искать, если эта точка находится в какой-либо из этого многоугольника или в обоих или ближайший к которому многоугольник.
Как хранить такие данные (полигон)? есть ли система/база данных/алгоритм для этого поиска?
Update: Спасибо всем за такой быстрый ответ ... Я думаю, что я должен быть более конкретным ...
Как искать = Да ... есть список из algorithms и library для того же.
Как хранить = на основе моих исследований SQL и NoSQL db имеют свои решения. NoSQL = MongoDb кажется самым близким, что мне нужно. Но проблема в том, что я могу запросить как «db.places.find ({« loc »: {" $ inside ": {" $ polygon ": polygonB}}})« Но не могу сделать запрос вроде db.places.find ({ loc ": {" $ внутри ": {}}}) SQL проверил postgre и openGIS для некоторой помощи. Но колоду не понять, возможно ли это.
Если кто-то может мне помочь с этим ... Спасибо заранее.
Являются ли ваши многоугольники выпуклыми, вогнутыми, самопересекающимися? – nhahtdh
[Ray casting] (http://alienryderflex.com/polygon/) – Jens
См. Также этот [ответ] (http://stackoverflow.com/a/4207722/230513). – trashgod