Arc filtering with multiple arcs

View: New views
3 Messages — Rating Filter:   Alert me  

Arc filtering with multiple arcs

by John Robert Peterson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

having read through the specification for how to filter things that are inside a polygon (make up an arc file with the list of points that make up the outside of the polygon, and use it), I owuld like to filter data to exclude all data that is inside one of a number of small polygons that are spaced far apart.

Performance is becoming an issue, as the filter will be handling large quantities of data, and it's already taking longer than is desirable, using radius from point filters. So i'd like a single pass filter if at all posible.

excluding is simple enough (it's just a flag) but how do I do multiple polygons? I assume that I just define them one after another, and it all sorts it's self out?

Does this actually end up drawing a single polygon that has long, infinatly narrow rectangular sections linking the diferent parts? if so, is there a chance that one of the parts could end up outside-in, and cause problems? or other such issues?

Is there anything else I should be looking out for?

Thanks,
JR

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Gpsbabel-misc mailing list http://www.gpsbabel.org
Gpsbabel-misc@...
To unsubscribe, change list options, or see archives, visit:
https://lists.sourceforge.net/lists/listinfo/gpsbabel-misc

Re: Arc filtering with multiple arcs

by Robert Lipe-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



On Fri, Sep 25, 2009 at 4:49 PM, John Robert Peterson <jrp.crs@...> wrote:
having read through the specification for how to filter things that are inside a polygon (make up an arc file with the list of points that make up the outside of the polygon, and use it), I owuld like to filter data to exclude all data that is inside one of a number of small polygons that are spaced far apart.

Performance is becoming an issue, as the filter will be handling large quantities of data, and it's already taking longer than is desirable, using radius from point filters. So i'd like a single pass filter if at all posible.

I'm pretty pleased with our performance in these filters over large datasets, but it's worth making the excuse that we're primarly about conversion and not really a spatially aware database.    I won't give a number because someone well always shout me down about such things (the last time I said "X", one person posted that performance with X/10 was terrible, but another said that performance at X*10 was great) but at some point problems like what you're describing are better solved with "real" GIS tools or something like the PostGIS extensions to Postgres.

If you're trying to figure out which zip code every fire hydrant in your state is in, we're probably the wrong tool, though with enough determination you could do it.
 
excluding is simple enough (it's just a flag) but how do I do multiple polygons? I assume that I just define them one after another, and it all sorts it's self out?

Looking at the code, it looks like once a polygon has been closed, subsequent coords are the start of new polygons and it's detected if it's inside or outside the previous one.
I'd expect weird stuff if you define multiple overlapping polygons.


Experiment with it.   Recommend doc clarifications if needed based on that experimentation.



 
Does this actually end up drawing a single polygon that has long, infinatly narrow rectangular sections linking the diferent parts? if so, is there a chance that one of the parts could end up outside-in, and cause problems? or other such issues?

Is there anything else I should be looking out for?

Thanks,
JR

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Gpsbabel-misc mailing list http://www.gpsbabel.org
Gpsbabel-misc@...
To unsubscribe, change list options, or see archives, visit:
https://lists.sourceforge.net/lists/listinfo/gpsbabel-misc



------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Gpsbabel-misc mailing list http://www.gpsbabel.org
Gpsbabel-misc@...
To unsubscribe, change list options, or see archives, visit:
https://lists.sourceforge.net/lists/listinfo/gpsbabel-misc

Re: Arc filtering with multiple arcs

by Ron Parker-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

John Robert Peterson wrote:
>  I assume that I just define them one after another, and it all sorts
> it's self out?
>
> Does this actually end up drawing a single polygon that has long,
> infinatly narrow rectangular sections linking the diferent parts? if
> so, is there a chance that one of the parts could end up outside-in,
> and cause problems? or other such issues?

Provided that each polygon begins and ends at the same point, it Just
Works. No long rectangular sections or anything; we see that the point
we just got to is the same as a point we saw previously, so we ignore
the next line segment.  We use a crossing counting method to determine
insideness, rather than a winding number test, so direction doesn't matter.

The only problem you'll have is if one of your polygons intersects
another of your polygons.  If one is entirely inside the other, any
points inside both will be excluded from the result (that's how we
define holes; they're just polygons inside other polygons.)  If one only
partially overlaps, any points in the overlapping space will be excluded.

>
> Is there anything else I should be looking out for?

I think there's still an active bug report about a corner case where
some points that are actually inside occasionally get marked as outside,
so don't use it for anything super-critical.  Other than that, just
what's above.



------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Gpsbabel-misc mailing list http://www.gpsbabel.org
Gpsbabel-misc@...
To unsubscribe, change list options, or see archives, visit:
https://lists.sourceforge.net/lists/listinfo/gpsbabel-misc