[postgis-users] General PostGIS & GEOS comments and questions
Vinko Vrsalovic
vinko at cprsig.cl
Thu Sep 4 10:14:17 PDT 2003
> I havent been able to reproduce your bug - could you give me an example
> that crashes the server?
I'll prepare a small set of data and sql and send it before Monday.
> I've not sure what you're trying to do here.
> Are you trying to find geometries in one table ("other_geom") that are
> contained by a polygon in another table ("geom").
>
> If so, then something like:
>
> SELECT distinct * FROM table_polygon, table_other_geom WHERE
> contains(table_polygon.geom, table_other_geom.other_geom) AND
> table_polygon.geom && table_other_geom.other_geom
>
> should be giving you what you want.
>
> * remember, this is testing each geometry against a single polygon.
> This isnt doing any polygon dissolving.
> If your geometry ("other_geom") is multiparted, all the parts have
> to be contained by one polygon.
Exactly, that was what i first tried to do, but the problem is that
other_geom is a multityped column, it has polygons, points, lines and
collections and when calling the exact same query, the server crashes.
I guess I'll have to redesign the model to separate the other_geom into
basic types... will contains() work on generic column types if each
row is not a collection? It seems to me that it would...
> I have seen a lot of use for a union(<geometrycollection>) function.
> Its implementation would be something like:
>
>
> accum = initial_geometry.getGeometryN(0).union(
> initial_geometry.getGeometryN(1) );
>
> accum = accum.union(
> initial_geometry.getGeometryN(2) );
>
> accum = accum.union(
> initial_geometry.getGeometryN(3) );
> ....
> return accum;
thanks, I'll give this a shot.
--
Vinko Vrsalovic <el[|- at -|]vinko.cl>
http://www.cprsig.cl
More information about the postgis-users
mailing list