On the flip side, if the number of "bad points" of ships-on-land is small, the stripping operation is probably faster than the positive containment test on all the ships-in-water points.

P

On 24-Oct-07, at 2:01 PM, Paul Ramsey wrote:

Oh, yeah, oops, I know. It's the join logic, its finding the things not contained for each world feature, not for the full world set.

select pd.* from pandatestdata pd,
(select p.id
from pandatestdata p, world2_12nm w
where st_contains(w.the_geom, p.the_geom)) as wd where pd.id <> wd.id;

Ugly, but probably effective: find all the things contained, then just strip those out.

The trouble is that disjointness is not an easily spatially indexable operation. If you're going to take this into operation with large data volumes, a more effective data set would be ocean polygons, cut up into smallish regular grid squares, then you can test containment with relatively good index selectivity.

P.

On 24-Oct-07, at 1:53 PM, Richard Heimann [C] wrote:

Thanks Paul for the response. I hadn’t thought of this logic, it didn’t work however. Strangely, it increased the number of features by eight times. Any
thoughts?

Vr
Rich



-----Original Message-----
From: Paul Ramsey [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 24, 2007 4:07 PM
To: [EMAIL PROTECTED]; PostGIS Users Discussion
Subject: Re: [postgis-users] ST_Difference

select p.*
from pandatestdata p, world2_12nm w
where not st_contains(w.the_geom, p.the_geom);

On 24-Oct-07, at 11:45 AM, Richard Heimann [C] wrote:

Thanks for your response W. I should have posted the sql query
earlier.
Anyway...its below.

My goal is to drop all features (points) that fall within my
polygon. In
this case, I have ship track data and want to filter it with world
country
buffers.

World2_12nm - my world country 12nm buffered polygon
Pandatestdata - track data (point)
Panda_diff2 - new table


CREATE TABLE panda_diff2 AS
SELECT AsText(Difference(world2_12nm.the_geom,
pandatestdata.the_geom)) FROM
world2_12nm, pandatestdata

Also attached are the astext versions of my data as well as a csv
of the
output from the above sql. Please debunk the mystery...

Thanks again
Rich

-----Original Message-----
From: Webb Sprague [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 24, 2007 12:00 PM
To: [EMAIL PROTECTED]; PostGIS Users Discussion
Subject: Re: [postgis-users] ST_Difference

You might get more useful help if you post an "astext()" version of
your data, the query, the result, and  a *desired* result.

I know the difference functions can be tricky and are sometiimes
defined in ways you might not expect.

Thx
W

On 10/24/07, Richard Heimann [C] <[EMAIL PROTECTED]> wrote:




All,



I would appreciate help in constructing an SQL statement that
performs a
difference function on two datasets. My intersect function works but
cannot
work out the kinks with st_difference. Thanks for your help.Im new to
Postgis.



Rich




_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users





_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

<panda_diff2.csv>

_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to