I have tremendous flows of point data (in 2D) (thousands every second). On this map I have several fixed polygons (dozens to a few hundreds of them).
I would like to determine in real time (the order of a few milliseconds on a rather powerful laptop) for each point in which polygons it lies (polygons can intersect). I thought I'd use the ray casting algorithm.
Nevertheless, I need a way to preprocess the data, to avoid scanning every polygon. I therefore consider using tree approaches (PM quadtree or Rtree ?). Is there any other relevant method ? Is there a good PM Quadtree implementation you would recommend (in whatever language, preferably C(++), Java or Python) ?