Hey there Folks...
As we all know, within the Oracle it is trivial to perform the following:
if sdo_anyinteract(geom1,geom2) = 'TRUE' then
do_some_stuff ;
end if;
We are setting up to pull in a live feed that delivers point referenced data and this data stream is unfiltered. The stream can put out 250K - 300K points ( with associated information ) about every 30 seconds, or about 40gigs of data every day. Our area of interest is a fraction of that, so we need to geo filter the data.
Each point comes as a bare long & lat so we have the basic information we need to perform the filter. While it is possible to do this filter quite simply by simply testing bounds within a rectangle we need something a bit more sophisticated so we want to do a polygon interaction, which the above code sprite would accomplish very neatly and simply, but would require the data to be sent to the database and either stored or rejected.
We are writing the feed code in Java so we thought it appropriate to perform the filter
before the data is sent to the database. The issue is that I don't really see a way to do this or at least an
obvious way to do this in either JGeometry or with in CompGeom.
Ideally the polygon used for the filter would be read from the database as an SDO object, then each data point would be typed as a Point2D and then an equivalent function to sdo_anyinteract() to qualify the point for inclusion into the stored data set.
Any advice on this would be appreciated.