[postgis-users] st_union says geometries have different srids
mchapman at texelinc.com
mchapman at texelinc.com
Sun Mar 16 21:43:58 PDT 2008
Mike,
I'm not sure if this is related but I was using the same version of geos today but from c++ directly and I was also getting an error when trying to use geos union in a loop where I continually union the previous resulting union geometry to the next in the table. It would always throw an error when parsing a multipolygon wkb saying that one of the linear rings was not closed (which it isn't). When I just union two geoms then all unions work correctly. The ring it complains about is a ring created from a previous union operation and it looks like the geos coordinate sequencer doesn't parse the ring correctly or the ring is failing on creation. I validated my wkb binary and all rings in my table geometries are closed.
I think this is a possible geos problem. I will debug further tomorrow and let you know if I find the error in the geos code and send you the fix if I find one.
Best regards,
Martin
Sent via BlackBerry by AT&T
-----Original Message-----
From: Mike Leahy <mgleahy at alumni.uwaterloo.ca>
Date: Mon, 17 Mar 2008 17:14:31
To:postgis-users at postgis.refractions.net
Subject: [postgis-users] st_union says geometries have different srids
Hello list,
I seem to be having trouble with st_union as an aggregate function.
Sorry if this is a known issue, but a quick search didn't turn anything
up similar. Below is an example where I have two polygons next to each
other
test=# create table test (gid serial primary key);
test=# select
addgeometrycolumn('public','test','test_geom',4326,'MULTIPOLYGON',2);
test=# insert into test (test_geom) values ('srid=4326;MULTIPOLYGON(((1
1,1 2,2 2,2 1,1 1)))');
test=# insert into test (test_geom) values ('srid=4326;MULTIPOLYGON(((2
1,3 1,3 2,2 2,2 1)))');
The following will fail no matter what shapes/srid I'm using:
test=# select st_union(test_geom) from test;
ERROR: Operation on mixed SRID geometries
But this works fine:
test=# select st_memunion(test_geom) from test;
st_memunion
------------------------
0103000020E610000001...
Is there something in particular that I'm doing wrong? This only seems
to be an issue with st_union as an aggregate, if I use
st_union(geometry,geometry), the result looks fine. This is on a
Fedora-7 (x86_64) machine with PostgreSQL 8.3, PostGIS 1.3.2,
Proj-4.5.0, GEOS-3.0.0 - I have a similar setup on another machine
running F8-x86_64 (except for Proj-4.6.0), and the failure is worse (the
postgresql server segfaults with 'signal 11'). Would this be a bug, or
have I committed some kind of user error? Is there anything I should
try to figure out where the source of my problem is?
Thanks in advance for any suggestions.
Mike
_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list